

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));