Cur*_*ind 3 ssl ca csr public-key private-key
我试图揭开 CSR 的生成方式以及公钥和私钥的作用。
服务器1:
现在,我想要 CSR,为此,我将去 CA 进行签名。
创建 CSR 请求时,是基于服务器的公钥还是私钥?
我提到了这个SO问题;其中,它表示服务器(正在请求 CSR)本身在将其发送到 CA 之前通过其私钥签署 CSR。
我有点困惑,有以下问题:
最终产品(CA 签名的证书):它包含服务器的私钥还是公钥?据我了解,最终产品应包含请求 CSR 的服务器的公钥。
服务器发起CSR请求时,为什么需要用私钥对CSR进行签名?这是对的吗?
服务器的公钥是 CSR 的一部分吗?
最终,CA是否根据CSR生成证书以及如何从CSR导出服务器的公钥?
最终产品(CA 签名的证书):它包含服务器的私钥还是公钥?
该证书是公共文件。因此它只能包含公钥。如果它包含私钥,那么该密钥将不再是私有的。
服务器发起CSR请求时,为什么需要用私钥对CSR进行签名?这是对的吗?
是的,这通常是正确的。这个概念称为拥有证明(PoPo),它用于向 CA 证明您(或本例中的服务器)拥有与将由 CA 签名的公钥相对应的私钥(或至少拥有它)在 CA 签署您的证书之前的时间)。如果 CA 不坚持 PoPo,那么您可以否认任何已签名的未来消息,如下所示:
如果当我向 CA 提交您的公钥时银行坚持使用 PoPo,那么我的请求就会失败,并且您以后也无法否认您的消息。但是,一旦 CA 在没有 PoPo 的情况下签署了请求,所有关于不可否认性的赌注都会被取消。
最终,CA是否根据CSR生成证书以及如何从CSR导出服务器的公钥?
无需进行推导 - 您的服务器的公钥位于名为CertificateRequestInfo 的构造中的请求中。
此 CertificateRequestInfo 包含您(或服务器)的名称和公钥。它还可以包含其他元素,例如请求的扩展。CA 从此 CertificateRequestInfo 获取所需的任何信息(只有公钥是必需的),并使用该信息生成称为 tbsCertificate 的构造( “tbs”代表待签名)。该构造包含您的姓名、公钥以及 CA 认为合适的任何扩展。然后它会签署此 tbsCertificate 以创建您的证书。
| 归档时间: |
|
| 查看次数: |
6270 次 |
| 最近记录: |