【发布时间】:2018-06-06 12:36:16
【问题描述】:
在证书颁发机构的上下文中,我正在尝试从 CA index.txt 检索有效的实时证书(如果有),以便在从初始 CSR 续订之前撤销它。
在我的index.txt 中,我正在查找的行是
V 200605120159Z D486D9E32C4DE4BA unknown /C=LU/ST=Luxembourg/L=Luxembourg/O=My Org/OU=My Unit/CN=myhost.fqdn/emailAddress=ca@initech.com
我可以通过
获取 CSR 中的主题openssl req -noout -subject -in sub/csr/myhost.csr.pem
得到
subject=C = LU, ST = Luxembourg, L = Luxembourg, O = My Org, OU = My Unit, emailAddress = ca@initech.com, CN = myhost.fqdn
我可以用sed翻译它
openssl req -noout -subject -in sub/csr/myhost.csr.pem \
| sed -e 's/subject=/\//' -e 's/ = /=/g' -e 's/, /\//g'
结果
/C=LU/ST=Luxembourg/L=Luxembourg/O=My Org/OU=My Unit/emailAddress=ca@initech.com/CN=myhost.fqdn
与index.txt 中的行不匹配,因为字段的顺序不同。
是否可以以可比较的方式拥有证书的主题和 CSR 的主题?
【问题讨论】:
-
通常颁发新证书不会撤销旧证书,因为它会创建一个操作竞争条件,即主体必须在 CRL(或 OCSP 源)获得之前完全获得新证书更新。延迟是合理的(GoDaddy CA 有 72 小时的延迟),但比简单地让客户端启动撤销(或不启动,只是等待到期)更难。
-
@bartonjs:是的,这是有道理的,因为在撤销时我会在同一步骤中重新生成 CRL。因此,在新证书设置之前的一段时间内,客户端(内部基础架构)可能不信任服务器。我的问题没用:o(
标签: openssl x509certificate ca