[CA证书在证书创建中的使用

问题描述 投票:0回答:1

我已阅读有关如何创建本地SSL证书的article。基本步骤如下:1.创建密钥对openssl genrsa -des3 -out applicant.key 20482.创建证书签名请求openssl req -new -sha256 -nodes -out applicant.csr -key applicant.key -config someCert.csr.cnf3.使用ca.key(私钥)和cacert.pem(CA证书)为申请人创建证书openssl x509 -req -in applicant.csr -CA cacert.pem -CAkey ca.key -CAcreateserial -out applicant.crt -days 500 -sha256 -extfile localdomain.v3.ext

我对步骤有一些疑问。a)当我们在步骤1中创建密钥时,它是密钥对还是私钥?b)在步骤2中创建证书签名请求时,我们需要公钥还是私钥?c)从CA创建证书时,为什么同时需要ca私钥和ca证书?我相信ca私钥用于数字签名,但是CA证书的目的是什么?

ssl-certificate private-key csr certificate-authority
1个回答
0
投票

当我们在步骤1中创建密钥时,它是密钥对还是私钥?

applicant.key包含公共元素和私有元素。您可以使用openssl rsa -text -nout -in applicant.key或更基本的形式使用dumpasn1或类似名称查看它们。


在步骤2中创建证书签名请求时,我们需要公钥还是私钥?

两者您需要公共密钥,因为它将由CA进行认证。使用CSR签名CSR时,您需要私钥,以提供公钥的所有权证明。


从CA创建证书时,为什么同时需要其私钥和ca证书?

再次,两者。您需要私钥才能对证书进行签名。您还需要CA证书,以便CA可以从中提取签名过程中使用的信息。

至少,这是CA证书的主题字段,用作已签名证书的颁发者字段。

另一个示例是CA证书中的AuthorityKeyIdentifier扩展名,其值用作申请人证书中的SubjectKeyIdentfier扩展名。

但是,CA可以自由使用它们所需的任何东西。例如,Microsoft CA将检查CA证书上的到期日期,并且不会向申请人颁发在该日期之后过期的证书(它将截断证书的有效性)。为此,它需要访问CA证书。

© www.soinside.com 2019 - 2024. All rights reserved.