two*_*wer 3 ssl-certificate iis-8.5
我刚刚在我们的一台服务器上安装了一个新的 SSL 证书(来自 StartCom),并注意到在 Chrome 中为该站点显示了一个交叉的挂锁图标,所以我开始调查为什么会这样。原来是因为发送到浏览器的中间证书使用了旧的 SHA-1 签名算法。
可以肯定的是,我获取了我们的证书(最初由 CA 颁发),通过 OpenSSL 再次运行它以将其与 SHA-2 中间证书(我从 CA 的站点下载)并在 IIS 上再次更新它。它仍然没有帮助。
我在SSL Labs进行了测试,结果如下:

我不知道这里显示的中间证书(带有指纹“a1ac ...”的证书)来自哪里。

它不是我分配给站点的证书的一部分 - 这是certutil -dump cert.pfx的输出:
================ Certificate 0 ================
================ Begin Nesting Level 1 ================
Serial Number: 1cab36472d9c51
Issuer: CN=StartCom Certification Authority, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
NotBefore: 10/14/2007 10:57 PM
NotAfter: 10/14/2022 10:57 PM
Subject: CN=StartCom Class 2 Primary Intermediate Server CA, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
Non-root Certificate
Template:
Cert Hash(sha1): 06 49 69 b7 f4 d6 a7 4f d0 98 be 59 d3 79 fa e4 29 a9 06 fb
---------------- End Nesting Level 1 ----------------
No key provider information
Cannot find the certificate and private key for decryption.
================ Certificate 1 ================
================ Begin Nesting Level 1 ================
Serial Number: 07aa747ba37df3
Issuer: CN=StartCom Class 2 Primary Intermediate Server CA, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
NotBefore: 7/15/2015 3:41 AM
NotAfter: 7/15/2017 3:23 AM
Subject: E=jan.valenta@idioma.com, CN=*.idioma.com, O=IDIOMA, s.r.o., L=Praha, S=Praha, C=CZ
Non-root Certificate
Template:
Cert Hash(sha1): 02 90 be 6e 6e b8 a5 7a ff aa a2 ac 95 b8 61 2a 3d c7 80 f6
---------------- End Nesting Level 1 ----------------
Key Container = <hidden>
Unique container name: <hidden>
Provider = Microsoft Enhanced Cryptographic Provider v1.0
Encryption test passed
CertUtil: -dump command completed successfully.
Run Code Online (Sandbox Code Playgroud)请注意,中间证书签名与 SSL Labs 输出不匹配。但是,它与我在 IIS 上打开站点证书时看到的内容相匹配,转到其认证路径,打开中间证书并查看其签名。
是什么让 IIS 发送这个特定的中间证书?
更新:
我的证书的公共部分(我从 CA 获得的 CRT 文件)在这里。
的输出certutil -verifystore CA "StartCom Class 2 Primary Intermediate Server CA":
CA "Intermediate Certification Authorities"
================ Certificate 3 ================
Serial Number: 1cab36472d9c51
Issuer: CN=StartCom Certification Authority, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
NotBefore: 10/14/2007 10:57 PM
NotAfter: 10/14/2022 10:57 PM
Subject: CN=StartCom Class 2 Primary Intermediate Server CA, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
Non-root Certificate
Cert Hash(sha1): 06 49 69 b7 f4 d6 a7 4f d0 98 be 59 d3 79 fa e4 29 a9 06 fb
No key provider information
Cannot find the certificate and private key for decryption.
Encryption test passed
Verified Issuance Policies:
1.3.6.1.4.1.23223.1.1.1
Verified Application Policies:
1.3.6.1.5.5.7.3.1 Server Authentication
1.3.6.1.5.5.7.3.2 Client Authentication
1.3.6.1.5.5.7.3.4 Secure Email
1.3.6.1.5.5.7.3.3 Code Signing
1.3.6.1.5.5.7.3.8 Time Stamping
1.3.6.1.4.1.311.10.3.4 Encrypting File System
1.3.6.1.5.5.7.3.6 IP security tunnel termination
1.3.6.1.5.5.7.3.7 IP security user
Certificate is valid
CertUtil: -verifystore command completed successfully.
Run Code Online (Sandbox Code Playgroud)
的输出certutil -GroupPolicy -verifystore CA "StartCom Class 2 Primary Intermediate Server CA":
CA "Intermediate Certification Authorities"
CertUtil: -verifystore command FAILED: 0x80090011 (-2146893807 NTE_NOT_FOUND)
CertUtil: Object was not found.
Run Code Online (Sandbox Code Playgroud)
这不是 IIS 的错误。看起来您下载了错误的中间 CA 证书或错误地将证书与 OpenSSL 合并。
IIS 内部构建证书链,并使用这些证书(根证书除外,SSL 握手期间不传输)发送给客户端。即使证书没有出现在商店中,IIS 也可以使用授权信息访问证书扩展来检索丢失的颁发者证书。
根据您的输出,中间 CA 证书(在 PFX 包中)不是您的证书的正确颁发者。如果您可以将证书的公共部分发送给我们(或在此处发布),我将提供有关正在发生的事情的更多信息。但最有可能的是,问题出在 StartCom 方面。
编辑 17.07.2015
我检查了您的输出,发现 StartSSL 在更新中间 CA 证书时做出了错误的决定。他们重用了密钥对,因此,可以通过不同的中间 CA 证书和单个根为您的证书生成多个相同的链。根据多种因素,链接引擎可以选择任一链。
当 CA 证书中的任何重要信息发生更改时,一个好的做法是使用新的密钥对更新 CA 证书。
你应该做什么(如果可能的话):
certutil -urlcache * delete。| 归档时间: |
|
| 查看次数: |
5473 次 |
| 最近记录: |