自签名证书旁路不起作用
Self-Signed Certificate Bypass Not Working
CloseableHttpClient client = HttpClients.custom().setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
给我一个错误:
[sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
即它没有按预期添加所有自签名证书..
我的HTTPClient版本是4.5.1
并且 HTTPCore 是版本 4.4.4
请给我一个不使用像 SSLContextBuilder 这样不推荐使用的方法的解决方案
尝试使用此代码段:
import java.security.*;
import org.apache.http.conn.ssl.*;
try
{
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustSelfSignedStrategy() {
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException
{
return true;
}
}).build();
CloseableHttpClient client =HttpClients.custom().setSSLContext(sslContext).setSSLHostnameVerifier(new NoopHostnameVerifier())
.build();
}
catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException e)
{
e.printStackTrace();
}
CloseableHttpClient client = HttpClients.custom().setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
给我一个错误:
[sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
即它没有按预期添加所有自签名证书..
我的HTTPClient版本是4.5.1 并且 HTTPCore 是版本 4.4.4
请给我一个不使用像 SSLContextBuilder 这样不推荐使用的方法的解决方案
尝试使用此代码段:
import java.security.*;
import org.apache.http.conn.ssl.*;
try
{
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustSelfSignedStrategy() {
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException
{
return true;
}
}).build();
CloseableHttpClient client =HttpClients.custom().setSSLContext(sslContext).setSSLHostnameVerifier(new NoopHostnameVerifier())
.build();
}
catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException e)
{
e.printStackTrace();
}