openvpn 证书吊销(revoke)的问题

执行的命令很简单:
# ./revoke-full test_1

revoke 之后,index.txt 对应的条目会由 V 变成 R。另外,会在 keys/ 下面生成 crl.pem 的 CRL。
在使用过程中发现,需要将其 ln 到 /etc/openvpn 下面:
# mv /etc/openvpn/keys/crl.pem /etc/openvpn/.
# cd /etc/openvpn/keys
# ln -s /etc/openvpn/crl.pem .

还需要在配置文件里面指明其位置:
crl-verify crl.pem

否则会出现权限错误等问题:
CRL: cannot read: /etc/openvpn/keys/crl.pem: Permission denied (errno=13)
Exiting

重启即可。


在用 build-key 生成证书的过程如,如果后面的 CN(common name) 跟之前的一样,那么或出现下面的问题:
Certificate is to be certified until Jun 10 06:58:00 2023 GMT (3650 days)
Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2

自然不推荐使用同样的 CN,如果一定要使用,可以将 index.txt.attr 文件里面的 unique_subject = yes 改成 unique_subject = no。这样在 index.txt 里面看到的就是两个了:
# tail index.txt -n 2
V 230810065719Z   46  unknown /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/CN=test_1/emailAddress=[email protected]
V 230810070508Z   47  unknown /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/CN=test_1/emailAddress=[email protected]

这个时候如果需要 revoke,需要单独的对每一个 test_1 进行 revoke,注意不要把两个 CN 的证书搞混淆了。

最后,如果蛋疼的想 unrevoke 证书,可以参考这里