Comodo PositiveSSL + Windows 2008R2 / IIS7.5:仅在 Android 上出现错误

Comodo PositiveSSL + Windows 2008R2 / IIS7.5:仅在 Android 上出现错误

我有一个 SSL 证书,它可以与所有主要证书一起正确使用,桌面浏览器(IE、Chrome、FF)以及 Windows Phone 和 iOS,但在 Android 上。

我想我已经按照正确的顺序安装了证书,因为它在服务器上显示了如下证书层次结构:

(根)AddTrust 外部 CA \ (中级)Comodo RSA 认证机构 \ Comodo RSA 域验证安全服务器 CA \ myunluckydomainnameexample.com

我知道,Android 根 CA 列表中只有 AddTrust,所以中间 CA 应该存在问题。如何在 Windows 2008 R2 上进一步调查?

我找到了 openssl 工具:

        $ openssl s_client -connect myunluckydomainnameexample.com:443

CONNECTED(00000003)
    depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
    verify error:num=20:unable to get local issuer certificate
    verify return:0
    ---
    Certificate chain
     0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=skaelede.hu
       i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
     1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
       i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----

我将其输出与已知工作站点进行了比较,https://ssllabs.com并给出了以下输出:

$ openssl s_client -connect ssllabs.com:443
CONNECTED(00000003)
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=www.ssllabs.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
Server certificate
-----BEGIN CERTIFICATE-----

..我这里缺少哪个证书?

答案1

证书存储中的过多修改似乎会导致证书链处于不稳定状态,而重新启动 IIS 无法解决这个问题。在服务器上按计划重新启动后,CA 链中的所有更改均生效,此后它按预期运行。

答案2

顺序需要为 1) 服务器 CRT 2) 域/EV/WildC CRT 3) 第二个 CA

我刚刚遇到了这个问题(在 Chrome Android 上不行),下面是我使用域证书修复它的方法。

解压我收到的电子邮件中的 zip 文件

unzip www_mysite_com.zip

创建包含所有 CA 的证书包,但跳过根证书COMODORSAAddTrustCA.crt

cat www_mysite_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > www.mysite.com.bundle.crt 

我正在使用 nginx,因此我的 crt 行如下所示:

ssl_certificate     /etc/nginx/ssl/www.mysite.com.bundle.crt;

效果很好,我终于让 Android 上的 Chrome 运行起来了。

问候

相关内容