iTextSharp OcspClientBouncyCastle 构造函数已弃用,替代品是什么?

iTextSharp OcspClientBouncyCastle constructor is deprecated, what's the replacement?

我正在使用 iTextSharp 5.5.10。 OcspClientBouncyCastle 默认的构造函数已弃用。

IOcspClient ocspClient = new OcspClientBouncyCastle();

另一个是:

OcspClientBouncyCastle(OcspVerifier verifier)

但是我找不到任何方法来使用它。 有人可以提供这个新构造函数的示例吗?

非常感谢。

如果您想要前一种行为,即由 OcspClientBouncyCastle 检索到的 OCSP 响应是可信的,不用多说,您可以简单地使用 null 作为参数:

IOcspClient ocspClient = new OcspClientBouncyCastle(null);

但是如果您想要检查检索到的 OCSP 响应,则必须提供一个 OCSPVerifier 实例。

必须如何初始化此实例取决于从中查询 OCSP 响应的 CA 的 PKI。如果它在 OCSP 响应中提供了足够的信息并且响应是使用不需要进一步检查的证书签名的(例如,如果它具有 id-pkix-ocsp-nocheck 扩展名),您可以初始化它带有 null 个参数:

OCSPVerifier ocspVerifier = new OCSPVerifier(null, null);
IOcspClient ocspClient = new OcspClientBouncyCastle(ocspVerifier);

但是 CA 可以选择不指定任何方法来检查响应者的证书 (RFC 2560)。在最坏的情况下,这可能需要初始化特定于该 CA 的验证器。