java如何绕过SSL握手javax。网ssl。SSLHandshakeException
我得到了javax的异常。网ssl。SSLHandshakeException。我已经读过了,你可以在编码层绕过它。这就是我一直试图做的。 我添加了NoopHostnameVerifier。实例和SSLContext发送到客户端生成器,但仍会收到SSL异常
var clientBuilder = HttpClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build())
.setRedirectStrategy(new LaxRedirectStrategy())
.setDefaultCookieStore(cookieStore)
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.setSSLContext(createSSLContext());
private SSLContext createSSLContext() {
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
} };
SSLContext sc = null;
try {
sc = SSLContext.getInstance ("SSL");
sc.init (null, trustAllCerts, new java.security.SecureRandom ());
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace ();
}
return sc;
}
共 (0) 个答案