如果您没有证书,如何吊销openssl证书
我做了由本地机器上创build的CA签名的openssl证书。
这个证书被删除了,我没有了。
使用相同的commonName创build另一个证书是不可能的,因为openssl不允许它,并且会产生错误:
failed to update database TXT_DB error number 2
我怎样才能撤销证书来创build具有相同的commonName的另一个证书?
(基于Nilesh的回答 )在默认configuration下,openssl会将所有签名证书的副本保存在/etc/ssl/newcerts
,并由其索引号命名。 所以grep /etc/ssl/index.txt
获取要撤销的密钥的序列号,例如1013,然后执行以下命令:
openssl ca -revoke /etc/ssl/newcerts/1013.pem #replacing the serial number
在Nilesh的答案中提到的-keyfile
和-cert
只有在与openssl.cnf
设置-cert
时才需要。
或者,您也可以更改/etc/ssl/index.txt.attr
以包含该行
unique_subject = no
允许具有相同通用名称的多个证书。 如果您已经发布了原始证书,那么即使您不运行OSCP服务器或提供CRL,撤销旧证书也是更好的解决scheme。
我还没有尝试过,但看起来像你需要这样的东西。
openssl ca -revoke bad_crt_file -keyfile ca_key -cert ca_crt
openssl自动将你的证书副本保存在newcerts目录中。 您可能想要检查它以检索您的证书。 不幸的是,你需要一个证书来吊销它。 有关详细信息,请参阅以下内容: http : //www.mad-hacking.net/documentation/linux/security/ssl-tls/revoking-certificate.xml