ssl - 是否可以签署 key 长度比 CA 证书更长的服务器证书

标签 ssl certificate

我有一个 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。但从概念上讲,您可以将其视为“签署证书”。)

信任的建立与任何其他证书链相同:

  1. 您的客户端在其信任库中包含您的 CA 的 1024 位公钥。
  2. 您的客户端连接到服务器,服务器发送由您的 CA 签名的证书。
  3. 您的客户端看到该证书是由您信任库中的 CA 签名的,因此它使用客户端信任库中的 CA 公钥验证 CA 在服务器证书上的签名。
  4. 签名匹配,因此客户端信任服务器的证书。

关于ssl - 是否可以签署 key 长度比 CA 证书更长的服务器证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416495/

相关文章:

使用 Adob​​e Flash 的 IOS 分发证书 - 错误存储问题(移动配置文件)PackageExtractionFailed

security - 我的 SSL 证书安全挂锁在主页上出现 1 秒钟然后消失。它在管理控制面板中工作

c# - XML 的 Saml2Assertion 为空

security - "signing a certificate with another certificate"是什么意思?

ssl - Mosquitto 有时会终止客户端连接

ssl - 使用证书进行身份验证时 MISSING_AUTHORIZATION_HEADER

android - 在 keystore 中使用证书保存私钥 - Android

java - 在android中从sd卡读取证书文件(.cer)

jquery - 如何从非 SSL 页面提交带有 SSL 的表单?

.net - 验证 .NET 套接字上使用的 SSL/TLS 级别?