验证主机证书是否由根签名

时间:2014-09-08 03:15:54

标签: java android

我有一个将连接到服务器的Android应用程序。我希望android应用程序能够验证服务器证书是否由我自己创建的根证书签名。

我尝试将root ca添加到我的信任库:

InputStream rootCa = getResources().openRawResource(R.raw.root_ca);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
trustStore.load(null,null);
trustStore.setCertificateEntry("serverRoot", cf.generateCertificate(rootCa));

SSLSocketFactory sf = new SSLSocketFactory(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

但我一直收到这个错误:

javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

有关如何执行此操作的任何建议吗?

0 个答案:

没有答案