![](/img/trans.png)
[英]Is it possible to disable ssl certificate download in Weblogic server
[英]Is it possible to disable ssl for https?
在Java上的应用。 使用OkHttp版本2.7.5。 向另一个服务发出请求,并且发生错误。
SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
我没有证书。 似乎有okHttp3版本的解决方案。 但是版本不能更改。 如何解决问题?
是否可以为https禁用ssl?
从字面上看,没有。
SSL的使用是HTTPS协议的基础。 如果您根本不想使用SSL,请为服务器配置一个HTTP端点,然后使用它代替HTTPS。
此外,使用SSL要求(至少)在语法上格式正确的证书。 这也是HTTPS协议的基础。
现在,如果问题是您的服务器证书已过期,则可能的解决方案是使用以下方法:
并且如果问题是您无法获得服务器的正确证书(例如,您负担不起),那么另一种解决方案是:
但是请注意,执行上述任一操作都存在安全问题。
第三种解决方案更安全。
为什么要使用HTTPS但没有证书,您应该按照上述Stephen的指示进行操作。 但是,如果您确实想忘记https的含义,则可以考虑覆盖此行为
private static OkHttpClient getUnprotectedClient() {
try {
// Create a trust manager that does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
};
// Install the all-trusting trust manager
final SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
// Create an ssl socket factory with our all-trusting manager
final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
return new okhttp3.OkHttpClient.Builder()
.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0])
.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
}).build();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.