0
org.apache.http.client.HttpClient
をhttpsで使用するように設定しようとしています。これは、クライアントの構成です:Apache HttpClientエラー:javax.net.ssl.SSLPeerUnverifiedException:ピアが認証されていない
TrustManager[] trustManagers = new TrustManager[] { new DummyTrustManager() };
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagers, trustManagers, null);
SSLSocketFactory sf = new SSLSocketFactory(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
Scheme scheme = new Scheme("https", 443, sf);
SchemeRegistry registry = new SchemeRegistry();
registry.register(scheme);
ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(registry);
DefaultHttpClient client = new DefaultHttpClient(cm, httpParameters);
これはDummyTrustManager
のコードです:
public static class DummyTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}
そして、私は要求を送信し、私が問題になる可能性がどのような
`javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated`
を取得しますか?
が、結果は同じである - 'ピアがauthenticated'ない...:
はで完全な例を参照してください – Kirill