我有一个 key 长度为 1024 位的自签名 CA。是否可以使用此 CA 签署具有更长 key 长度(2048 位)的服务器证书?我想签署服务器证书并为 Active Directory 服务配置它。
我可以使用充气城堡来做到这一点。我担心的是 1)这是个好主意吗? 2) 如何建立证书信任?这样可以吗。
最佳答案
是的,您可以使用 1024 位 RSA 私钥为使用 2048 位 key 的服务器签署证书。您正在签名的证书(服务器的证书)中 key 的长度,甚至类型与您用于签名的 key 无关。例如,如果需要,您可以让 1024 位 RSA 私钥使用 256 位 EC key 为服务器签署证书。
(从技术上讲,您不是在签署证书本身,而是签署证书的哈希值。有关详细信息,请参阅 this question and answer。但从概念上讲,您可以将其视为“签署证书”。)
信任的建立与任何其他证书链相同:
- 您的客户端在其信任库中包含您的 CA 的 1024 位公钥。
- 您的客户端连接到服务器,服务器发送由您的 CA 签名的证书。
- 您的客户端看到该证书是由您信任库中的 CA 签名的,因此它使用客户端信任库中的 CA 公钥验证 CA 在服务器证书上的签名。
- 签名匹配,因此客户端信任服务器的证书。
关于ssl - 是否可以签署 key 长度比 CA 证书更长的服务器证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416495/