我认为这确实是问题。
据我所知,第一种可能性是我需要使用设备的信任库配置此SSLSocketFactory,设备的信任库包括所有标准的中间和端点证书颁发机构
如果这是真的,我将如何最好地加载此数据?
尝试这样的操作(您需要让套接字工厂使用此默认信任管理器):
X509TrustManager manager = null;FileInputStream fs = null;TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());try{ fs = new FileInputStream(System.getProperty("javax.net.ssl.trustStore")); keyStore.load(fs, null);}finally{ if (fs != null) { fs.close(); }}trustManagerFactory.init(keyStore);TrustManager[] managers = trustManagerFactory.getTrustManagers();for (TrustManager tm : managers){ if (tm instanceof X509TrustManager) { manager = (X509TrustManager) tm; break; }}编辑: 在这里使用代码之前,请先看Pooks的回答。听起来现在有更好的方法可以做到这一点。



