jodd源代码中创建SSLSocketFactory

SocketHttpConnectionProvider:

 

protected SSLSocketFactory getDefaultSSLSocketFactory(boolean trustAllCertificates) throws IOException {
        if (trustAllCertificates) {
            try {
                SSLContext sc = SSLContext.getInstance("SSL");
                sc.init(null, TrustManagers.TRUST_ALL_CERTS, new java.security.SecureRandom());
                return sc.getSocketFactory();
            }
            catch (NoSuchAlgorithmException | KeyManagementException e) {
                throw new IOException(e);
            }
        } else {
            return (SSLSocketFactory) SSLSocketFactory.getDefault();
        }
    }

TrustManagers:

public static TrustManager[] TRUST_ALL_CERTS = new TrustManager[]{
        new X509ExtendedTrustManager() {
            @Override
            public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
            }
            @Override
            public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
            }
            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return null;
            }
            @Override
            public void checkClientTrusted(X509Certificate[] x509Certificates, String s, Socket socket) throws CertificateException {
            }
            @Override
            public void checkServerTrusted(X509Certificate[] x509Certificates, String s, Socket socket) throws CertificateException {
            }
            @Override
            public void checkClientTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) throws CertificateException {
            }
            @Override
            public void checkServerTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) throws CertificateException {
            }
        }
    };

 

posted @ 2017-12-04 16:57  超人吃鸡蛋  阅读(1600)  评论(0编辑  收藏  举报