Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?

后端 未结 22 2909
名媛妹妹
名媛妹妹 2020-11-21 05:59

Edit :- Tried to format the question and accepted answer in more presentable way at mine Blog

Here is the original issue.

22条回答
  •  感情败类
    2020-11-21 06:18

    Below code works for me :

    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;
    
    import javax.net.ssl.X509TrustManager;
    
    public class TrustAnyTrustManager implements X509TrustManager {
    
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    }
    
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    }
    
    public X509Certificate[] getAcceptedIssuers() {
    return new X509Certificate[] {};
    }
    }
    

    HttpsURLConnection conn = null;
                URL url = new URL(serviceUrl);
                conn = (HttpsURLConnection) url.openConnection();
                 SSLContext sc = SSLContext.getInstance("SSL");  
                 sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());  
    
                 conn.setSSLSocketFactory(sc.getSocketFactory());
    

提交回复
热议问题