我需要使用所有需要的 SSL 证书构建一个 keystore ,以使我的 Android 应用程序通过 https 连接到网络服务器。
这是我的证书链(通过 openssl s_client -connect www.myhost.com:443
获得):
0 s:/C=US/ST=State/L=Location/O=Organization/OU=Webserver Team/CN=www.myhost.com
i:/C=US/O=Thawte, Inc./CN=Thawte SGC CA - G2
1 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
2 s:/C=US/O=Thawte, Inc./CN=Thawte SGC CA - G2
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
3 s:/C=US/O=thawte, Inc./OU=Terms of use at https://www.thawte.com/cps (c)06/CN=thawte Extended Validation SSL CA
i:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte, Inc. - For authorized use only/CN=thawte Primary Root CA
4 s:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte, Inc. - For authorized use only/CN=thawte Primary Root CA
i:/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
我的问题是我不能 100% 确定如何创建要导入我的 android 应用程序的 keystore 。我只能从 Thawte 和 Verisign 网站下载 VeriSign Class 3 Public Primary Certification Authority - G5
和 Thawte Primary Root CA
。我找不到另外两个,如果我没记错的话应该是 Thawte SGC CA - G2
和 thawte Extended Validation SSL CA
。
如果我拥有所有这些,我将继续使用此 answer 中说明的过程创建 keystore 与此类似的问题。
我是不是误会了什么?我真的需要所有 4 个证书吗?我也不确定将这些证书添加到 keystore 时应该使用的顺序(和别名)。重要吗?
最佳答案
如果您的服务器证书是由 VeriSign 签署的,则无需安装它,它很可能已被 Android 信任。你有错误吗?在什么版本?
通常,您只需要在设备的信任库中安装根 (CA) 证书。如果配置正确,所有中间证书都应由服务器发送。
关于Android - 如何在给定证书链的情况下为 SSL 身份验证构建 keystore ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036454/