什么是 OCSP 签名证书和密钥?谁应该发行它?

What is the OCSP signing cert and key? Who should issue it?

什么是 OCSP 签名证书和密钥?谁应该发行它?

所以,如果我有这个:

我只为域证书设置了 OCSP,所以 OCSP url 是 http://ocsp.example.com

现在,我学会了 运行 OCSP 服务器 openssl:

openssl ocsp -host 127.0.0.5 -port 80 -rsigner "what_cert?.crt" -rkey "what_cert?.key" -CA "root_or_intermediate_which_one?.crt" -text -index certindex -ignore_err

127.0.0.5 指向 ocsp.example.com

现在在该命令中,我了解到这两个是 ocsp 签名证书和密钥:

openssl ocsp -host 127.0.0.5 -port 80 -rsigner "ocsp.crt" -rkey "ocsp.key" -CA "root_or_intermediate_which_one?.crt" -text -index certindex -ignore_err
                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                                                should it be the ROOT or the INTERMEDIATE?

现在,下一个问题是什么是 OCSP 签名证书和密钥?谁应该发行它?

最后,这些是问题,我只为域证书设置了 OCSP,所以让我得到适当的说明:

单个OCSP服务器可以为多个CA提供OCSP服务。为了区分传入请求所针对的目标 CA,OCSP 实现了一个吊销配置文件(或配置),其中 CA 名称 ID 或密钥 ID(以后优先)用作配置文件标识符。对于每个配置文件,您需要由配置文件标识符引用的同一 CA 颁发的签名证书。

在您的示例中,您有两个 CA,您可能希望为其创建 OCSP 吊销配置文件:

  • 根 CA:

openssl ocsp -host 127.0.0.5 -port 80 -rsigner "ocsp_sig_root.crt" -rkey "ocsp_sig_root.key" -CA "root.crt" -text -index certindex -ignore_err

其中 ocsp_sig_root.crt 是由根 CA 签署的 OCSP 签名证书(签名证书中的 AKI 扩展必须与 root.crt 文件中的 SKI 匹配)。 ocsp_sig_root.key 是与 ocsp_sig_root.crt 关联的键。

  • 中级 CA:

openssl ocsp -host 127.0.0.5 -port 80 -rsigner1 "ocsp_sig_subca.crt" -rkey1 "ocsp_sig_subca.key" -CA1 "subca.crt" -text -index1 certindex1 -ignore_err

其中 ocsp_sig_subca.crt 是由中间 CA 签署的 OCSP 签名证书(签名证书中的 AKI 扩展必须与 subca.crt 文件中的 SKI 匹配)。 ocsp_sig_subca.key 是与 ocsp_sig_subca.crt 关联的键。您很可能只需要这个。为根 CA 实施 OCSP 的价值很小,因为它们的证书 issuance/revocation 极低,而 CRL 更有效。

也就是说,OCSP 将为 OCSP 服务的每个 CA 提供单独的签名证书。