我的组织在我们的一台 Windows Server 2008 R2 机器和一个使用 SSL 的本地内联网网站上拥有自己的证书颁发机构 (CA)。我的前任在 2016 年创建了一个证书,该证书现在不符合 Chrome 和 FireFox 的要求。从那时起,该证书已过期且未续订。我续订了证书并将其安装到远程计算机上的受信任根证书颁发机构中,FireFox 和 Chrome 现在声称该证书无效。FireFox 说它使用了弱加密,而 Chrome 只是无缘无故地说它无效……但在证书详细信息屏幕上显示证书没有问题 (?)。
证书颁发机构目前由 Windows Server 2008 R2 通过 IIS 6 处理。
我的问题是如何配置 IIS 和证书以满足这些要求?
证书位于 C:/Windows/System32/certsrv/CertEnroll
X509 Certificate:
Version: 3
Serial Number: 6464d31bb0aeefa44bea96fe13c****
Signature Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.11 sha256RSA
Algorithm Parameters:
05 00
Issuer:
CN=*******
NotBefore: 11/11/2016 9:30 AM
NotAfter: 11/11/2021 9:40 AM
Subject:
CN=******
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA
Algorithm Parameters:
05 00
Public Key Length: 2048 bits
Public Key: UnusedBits = 0
0000 30 82 01 0a 02 82 01 01 00 bb 58 5d e8 11 4f 57
0010 aa 37 3a 21 af 8e ab 20 24 36 6f f6 6e c9 6b d9
0020 d7 10 7f e4 e6 26 0c ee e0 67 41 bd 0d 4d 2c 1c
0030 56 ec 20 7a 80 5d bc f9 ed 8d a9 4d d9 ac b6 f7
0040 24 18 2f 19 ae 35 d9 f3 a6 0a 1a 76 c3 07 c2 bb
******************
Certificate Extensions: 4
2.5.29.15: Flags = 0, Length = 4
Key Usage
Digital Signature, Certificate Signing, Off-line CRL Signing, CRL Signin
g (86)
2.5.29.19: Flags = 1(Critical), Length = 5
Basic Constraints
Subject Type=CA
Path Length Constraint=None
2.5.29.14: Flags = 0, Length = 16
Subject Key Identifier
a9 ab c3 52 50 8d 20 07 17 2d a0 7f 9d a9 ******
1.3.6.1.4.1.311.21.1: Flags = 0, Length = 3
CA Version
V0.0
Signature Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.11 sha256RSA
Algorithm Parameters:
05 00
Signature: UnusedBits=0
0000 1e b8 e5 7e 93 d4 e4 1c 5b 23 12 14 b3 44 14 cb
0010 1a 22 a1 ab 7d 2e 72 2c af 20 76 0b d5 93 02 58
0020 d7 44 85 76 5d 97 c5 58 ba 48 53 e7 ab e8 f6 e2
0030 15 a8 90 6b 53 bd 9f 04 54 b0 a0 07 94 89 f5 01
0040 74 bc e9 0c 03 98 52 89 f6 5d 53 7a 42 ae 70 43
***************
Signature matches Public Key
Root Certificate: Subject matches Issuer
Key Id Hash(rfc-sha1): a9 ab c3 52 50 8d 20 07 17 ********
Key Id Hash(sha1): 17 52 93 4f ea 7d 37 58 df 80 e3 a8 ********
Cert Hash(md5): 88 8f 26 47 51 73 25 8a 3d d8 56 ********
Cert Hash(sha1): e2 fb 4e 43 b7 2e 35 00 fa 7b a8 8c ******
CertUtil: -dump command completed successfully.
答案1
您的证书对所使用的加密几乎没有影响。您的(未知)Web 服务器中配置的密码套件才是决定因素,而证书对可用的密码套件的影响很小(即 RSA 证书需要使用 RSA 身份验证的密码)。
基于此,获取“更强大的”证书毫无意义。相反,您应该配置您的 Web 服务器以支持更强大的密码套件,特别是禁止所有使用 RSA 密钥交换的密码,或者至少降低其优先级。
至于与身份验证相关的证书本身的强度:您需要使用强公钥(如果使用 RSA,则至少为 2048 位)和至少 SHA-256 作为签名算法。