TrustManagerFactory并设置SSLSocketFactory

时间:2014-01-23 15:06:35

标签: android ssl

我有一个SSLSocketFactory和一个TrustManagerFactory,如下所示:

TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
        tmf.init(trustStore);
        LogUtils.log("SSL: did init TrustManagerFactory with trust keyStore");
        SSLContext context = SSLContext.getInstance("TLS");
        context.init(null, tmf.getTrustManagers(), null);

urlConnection.setSSLSocketFactory(context.getSocketFactory());

将上下文TrustManagers设置为null会有什么影响?

所以

变化:

context.init(null, tmf.getTrustManagers(), null);

到此:

context.init(null, null, null);

1 个答案:

答案 0 :(得分:2)

Java api documentation中,它提供了有关方法javax.net.ssl.SSLContext.init(KeyManager[] km, TrustManager[] tm, SecureRandom random)的更多详细信息。假设Android框架没有更改实现,为tm输入传递null将使用Android预安装的信任管理器来接受服务器SSL证书。