我们有自己的 CA 供内部使用,可保护大约 10 个服务器/服务。我们实际上没有或不需要证书吊销列表。
但是,当我们尝试设置 Dovecot 来验证我们的 Postfix 服务器的身份时,我们发现 Dovecot 不会接受我们的 CA 证书,除非它在同一文件上附加了 CRL。
如果我们有公共 CA 证书,authority.crt
我们可以向该颁发机构证书文件中添加一些虚拟 CRL 数据以使 Dovecot 满意吗?
更新:
我想我已经差不多明白了:
openssl ca -config ca/authority.cnf \
-gencrl -crldays 365 -crl_hold holdInstructionCallIssuer
但我明白:
unable to load number from ssl/crlnumber
error while loading CRL number
140581396727104:error:0D066096:asn1 encoding routines:a2i_ASN1_INTEGER:short line:../crypto/asn1/f_int.c:140:
该crlnumber
文件不存在。我尝试将touch
其添加到文件中,但没有成功,然后我将数字添加1
到顶部,但同样没有成功。我可能需要在authority.cnf
该文件的配置文件中进行一些设置crlnumber
。
答案1
制作 CRL 的命令是:
openssl ca -config ca/authority.cnf \
-gencrl -crldays 365 -crl_hold holdInstructionCallIssuer
在 中authority.cnf
,您需要有:
[ CA_default ]
crlnumber = $dir/ca/crlnumber
crl = $dir/ca/crl/ca.crl.pem
crl_extensions = crl_ext
default_crl_days = 365
您还需要crlnumber
提前创建文件并用数字填充它。数字必须是偶数位。即1
无效,但01
有效。
您将获得一个 CRL,可将其粘贴到证书颁发机构的 crt 文件中。Dovecot 会接受它。