2

我想用 itextsharp 签署 PDF 文件。从现在开始,我将 CRL 嵌入到签名中。这使我的 PDF 变得非常庞大。一个 300 KB 的 PDF 的大小超过了 1 MB。

所以我决定嵌入 OCSP 响应而不是 CRL。

这是特定的代码:

byte[] ocsp = null;
if ((chain.Count >= 2) && (ocspClient != null))
{
  ocsp = ocspClient.GetEncoded(list[0], list[1], null);
}
byte[] message = fpkcs.getAuthenticatedAttributeBytes(secondDigest, now, ocsp, crlBytes, sigtype);
byte[] digest = Sign(message, cert);
fpkcs.SetExternalDigest(digest, null, "RSA");
byte[] sourceArray = fpkcs.GetEncodedPKCS7(secondDigest, now, tsaClient, ocsp, crlBytes, sigtype);

如果我是对的:为了获得启用 LTV 的签名,所有证书(根证书除外)的 OCSP 响应都必须嵌入到签名中。但是如果我使用上面的代码,只有签名证书的 OCSP 响应被嵌入到签名中。如果我在 Adob​​e Reader 中打开 PDF,则会在线检查 CA-Cert。所以签名不是 LTV 启用的。

谁能告诉我如何将多个 OCSP 响应嵌入到签名中?

非常感谢您的帮助!!

4

0 回答 0