尝试续订使用我自己的 CA 制作的证书失败,并显示“已经有一个证书...”

Pet*_*Unn 5 ssl openssl ca renewal

我按照Jamie的指示建立了自己的 CA ,并在一年前愉快地颁发了我的第一个证书。它们现在已经过期了,但我正在费尽心思地尝试更新它们。

我首先尝试了用于创建证书的代码,为其指定了不同的输出名称,但出现错误。

openssl ca -config intermediate/openssl.cnf -extensions usr_cert -days 375 -notext -md sha256 -in intermediate/csr/blahapi2.csr.pem -out intermediate/certs/blahapi2.cert.pem 
Using configuration from intermediate/openssl.cnf
Enter pass phrase for /root/ca/intermediate/private/intermediate.key.pem:
Check that the request matches the signature
Signature ok
ERROR:There is already a certificate for /C=AU/ST=Victoria/O=MD/CN=blahapi.there.com.au/emailAddress=pnunn@example.com
The matching entry has the following details
Type          :Valid
Expires on    :220501022116Z
Serial Number :1000
File name     :unknown
Subject Name  :/C=AU/ST=Victoria/O=MD/CN=blahapi.there.com.au/emailAddress=pnunn@example.com
Run Code Online (Sandbox Code Playgroud)

我想还有另一种方法可以使用相同的凭据更新证书,但我在任何地方都找不到它。

线索?

Shu*_*ngh 6

在 CA 的主目录中。您需要触发以下命令并尝试再次签名。

echo "unique_subject = no" >> index.txt.attr
Run Code Online (Sandbox Code Playgroud)

您收到此错误是因为您的 CA 数据库中已存在具有相同 SAN 的条目。您可以通过将 CA 配置为允许对非唯一 SAN 进行签名来避免此错误。

说明:CA数据库一般保存在index.txt文件中。通过上面的命令,我们设置属性来签署非唯一的主题或通用名称或 SAN。