要使用 OpenSSL 生成和吊销证书,你可以按照以下步骤操作:
1. 生成证书
使用 OpenSSL 生成自签名证书的步骤如下:
生成私钥:
bash
openssl genrsa -out key.pem 2048
生成证书请求(CSR):
bash
openssl req -new -key key.pem -out csr.pem
自签名证书:
bash
openssl x509 -req -in csr.pem -signkey key.pem -out cert.pem
2. 吊销证书
要吊销证书,首先需要创建一个 CRL 文件,然后将要吊销的证书添加到 CRL 中。
生成 CRL:
bash
openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl.pem
吊销证书:
bash
openssl ca -revoke cert.pem -keyfile ca.key -cert ca.crt
更新 CRL:
bash
openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl.pem
这些步骤将帮助你生成自签名证书并吊销证书。确保你有适当的权限来执行这些操作,并且按照正确的顺序执行步骤。
执行openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl.pem 提示错误calling fopen(./demoCA/index.txt, r)
就手工建一个空的demoCA/index.txt
并指定-config cnf/openssl.cnf
又报找不到这个文件./demoCA/crlnumber
新建一个并写入00 保存
再试就OK了。
最终吊销脚本
bash
::生成 CRL:
set CERT=KRDF2001012A202002
openssl ca -config cnf/openssl.cnf -gencrl -keyfile ca_root.key -cert ca_root.crt -out %CERT%.crl -passin pass:778899
::吊销证书:
openssl ca -revoke %CERT%.crt -keyfile ca_root.key -cert ca_root.crt -passin pass:778899
::更新 CRL:
openssl ca -gencrl -keyfile ca_root.key -cert ca_root.crt -out %CERT%.crl -passin pass:778899
pause