1. 首页 >后端开发 >Java >

java访问https服务端取消证书验证

java访问https服务端地址报错  java.security.cert.CertificateException

处理办法是取消证书验证

第一个方法

TrustManager trm = new X509TrustManager() {
 public X509Certificate[] getAcceptedIssuers() {return null;}
 public void checkClientTrusted(X509Certificate[] certs, String authType) {}
 public void checkServerTrusted(X509Certificate[] certs, String authType) {}
};

SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[] { trm }, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

但这个有的时候好像没有作用

第二个方法

HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
 public boolean verify(String hostname, SSLSession session) {
    return true;
 }
});

加上这个就不会报错了