首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android + Verisign SSL版本1

Android + Verisign SSL版本1
EN

Stack Overflow用户
提问于 2012-02-27 23:51:30
回答 2查看 464关注 0票数 1

我遇到了以下问题:我使用Verisign SSL Cert并尝试从我的android应用程序连接到我的Tomcat7服务器。在我看来,证书是正确安装的,因为我可以成功地连接iphone,firefox浏览器和verisign的ssl工具和其他ssl检查工具的相同应用程序。

但安卓应用程序显示: java.security.cert.CertificateException:java.security.cert.CertPathValidatorException: Version 1 certs can't be used as intermediate certificates

我尝试按照许多答案中的描述对证书进行重新排序,并使用EasySSLSocketFactoryEasyX509TrustManager实现了解决方案,但我无法解决该异常。版本1证书是作为最后的证书订购的,所以我有[0]-my cert[1]-intermediate1, [2]-intermediate2 and finally [3]-the root Version 1。出于安全原因,我不想允许所有证书。我不确定为什么会抛出这个异常,但似乎要么是verisign签发了错误的根证书,要么是android没有在其信任库中实现根证书。这个问题怎么解决呢?非常感谢您的帮助

EN

回答 2

Stack Overflow用户

发布于 2015-01-21 23:39:09

我遇到了这个问题,昨天我设法解决了它。您没有接受根证书,因为它是版本1证书,这一点是正确的。

我首先通过使用openssl找出证书链中的哪个证书是版本1证书(导致错误),从而解决了这个问题。

代码语言:javascript
复制
simonevertsson$ openssl s_client -connect my.secure.site.com:443

这给出了证书链。示例:

代码语言:javascript
复制
---
Certificate chain
 0 s:/C=SE/ST=Uppsala/L=Uppsala/O=Example AB/CN=my.secure.site.com
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Secure Server CA - G3
 1 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Secure Server CA - G3
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
 2 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
 3 s:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---

然后,我转到VeriSign Root Certificate download page并手动下载了版本1证书的.pem文件,在我的示例中,该证书是3类公共主证书颁发机构。

当证书文件下载完成后,我只是在Adding unknown CAs上遵循了Android开发人员指南。就这样,错误消失了。

票数 2
EN

Stack Overflow用户

发布于 2013-07-10 17:31:57

请确保您仅在web/应用程序服务器上安装了一个证书。删除所有过期的证书。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9467932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档