1
자체 서명 된 인증서를 사용하여 서버와 상호 작용하려고합니다.Oreo의 SSL 핸드 셰이크 오류
그것은 누가 잘 동작하지만, 오레오에 대한 예외가 있습니다
javax.net.ssl.SSLHandshakeException: Handshake failed
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:444)
일들이 안전하지 않은 프로토콜 폴백 (fallback)에 관해서 변경 같은 안드로이드 O의 changelog, 그것은 보인다 기반으로합니다. 서버의 구성이 this example의 기반으로하는
public static OkHttpClient getClient() {
try {
// Create a trust manager that does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
@SuppressLint("TrustAllX509TrustManager")
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
}
@SuppressLint("TrustAllX509TrustManager")
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[]{};
}
}
};
// Install the all-trusting trust manager
final SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
// Create an ssl socket factory with our all-trusting manager
final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]);
// Allow our hostname
builder.hostnameVerifier((hostname, session) -> {
return hostname.equals(API_HOST_NAME);
});
builder.addInterceptor(new MyCustomInterceptor());
if (BuildConfig.DEBUG) {
builder.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BASIC));
builder.addNetworkInterceptor(new StethoInterceptor());
}
return builder.build();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
: 내 신뢰 관리자가 문제가 아니라고 난 그냥 확인하고 싶습니다.
내 클라이언트가 눈에 띄게 이상하거나, 서버에 문제가 있습니까?
여기도 예외입니다. 해결책을 찾았습니까? – gleroyDroid
아직 불행히도 –
행운을 고쳐 주시겠습니까? 또는 어떤 관련 솔루션? –