我目前正在开发一个使用 OCSP 或 CRL 验证签名证书(如 pdf 格式)的应用程序。这些很可能是叶证书,没有整个链。事实证明,获取任一验证服务的 URL 都很简单。
据我了解,OCSP 和 CRL 都需要证书的颁发者对其进行验证。所以现在我被卡住了,因为输入中不包含它。AIA 扩展可能包含指向 CA 证书的 URL,但不幸的是,这是颁发证书的 CA,而不是证书本身。
有没有其他方法可以获得仅给出叶子的发行人证书?还是在某些情况下 OCSP/CRL 可以在没有它的情况下进行验证?
我目前正在开发一个使用 OCSP 或 CRL 验证签名证书(如 pdf 格式)的应用程序。这些很可能是叶证书,没有整个链。事实证明,获取任一验证服务的 URL 都很简单。
据我了解,OCSP 和 CRL 都需要证书的颁发者对其进行验证。所以现在我被卡住了,因为输入中不包含它。AIA 扩展可能包含指向 CA 证书的 URL,但不幸的是,这是颁发证书的 CA,而不是证书本身。
有没有其他方法可以获得仅给出叶子的发行人证书?还是在某些情况下 OCSP/CRL 可以在没有它的情况下进行验证?
查看https://www.ietf.org/rfc/rfc2560.txt
哪些详细信息要求 OCSP 响应被视为有效:
用于签署响应的密钥必须属于以下之一:
-- 颁发相关证书的 CA
-- 一个可信响应者,其公钥被请求者信任
-- 持有 CA 直接颁发的特殊标记证书的 CA 指定响应者(Authorized Responder),表明响应者可以为该 CA 发出 OCSP 响应
第一个和第三个选项都需要颁发者证书。第二个选项没有。但是我认为该选项不适用于您的情况。链接https://wiki.mozilla.org/CA:OCSP-TrustedResponder详细介绍了什么是可信响应者以及何时可以实际使用它。