X509TrustManager xtm = new X509TrustManager() { // 創建TrustManager @Override public void checkClientTrusted( java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException { } @Override public void checkServerTrusted( java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } }; // TLS1.0與SSL3.0基本上沒有太大的差別,可粗略理解為TLS是SSL的繼承者,但它們使用的是相同的SSLContext SSLContext ctx = SSLContext.getInstance("TLS"); // 使用TrustManager來初始化該上下文,TrustManager只是被SSL的Socket所使用 ctx.init(null, new TrustManager[] { xtm }, null); // 創建SSLSocketFactory SSLSocketFactory socketFactory = new SSLSocketFactory(ctx); // 通過SchemeRegistry將SSLSocketFactory注冊到我們的HttpClient上 client.getConnectionManager().getSchemeRegistry() .register(new Scheme("https", 443, socketFactory));
posted on
浙公網安備 33010602011771號