【发布时间】:2015-11-20 07:38:50
【问题描述】:
我有客户提供的 p12 文件和 cer 文件。
我使用以下代码连接服务器,但总是出现 SSSLHandshakeException:
KeyStore trustStore = KeyStore.getInstance("BKS");
trustStore.load(R.raw.trustore),
password.toCharArray());
SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", sf, 443));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
DefaultHttpClient defaultHttpClient=new DefaultHttpClient(ccm, params);
请注意,我使用下面的 cmd 转换了 trustore(.bks 文件):
keytool -genseckey -alias alias_name -keystore truststore.bks -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath bcprov-jdk15on-149.jar -storetype BKS
【问题讨论】:
-
我们可以尝试为您提供帮助,但您需要为此提出一个问题,您还没有在这里完成。请说明为什么此代码不起作用以及您希望它做什么。
-
嗨,感谢关注...使用代码,总是得到 SSLHandshakeException。
标签: ssl-certificate keystore sslexception