如何解决iText.Signatures.OcspClientBouncyCastle GetEncoded 需要哪些证书
我想在使用 iText 签署 pdf 文档时设置 ocsp
使用以下代码创建 ocsp:
OCSPVerifier ocspVerifier = new OCSPVerifier(null,null); // can be null based on https://stackoverflow.com/questions/40765907/itextsharp-ocspclientbouncycastle-constructor-is-deprecated-whats-the-replacem
IOcspClient ocspClient = new OcspClientBouncyCastle(ocspVerifier);
var test = ocspClient.GetEncoded(rootCertificate,cert,"http://my-url.com");
此代码的结果为空。 我猜是因为我设置了错误的证书。
第一个参数名为checkCert,第二个参数名为issuerCert 注意:我使用的是 iText 7.1 版。似乎在 7.7 版中名称已更改为 checkCert/rootCert
checkCert 和 issuerCert 到底是什么? 我尝试将签名根证书作为 checkCert 并将签名证书作为 issuerCert 但它不起作用。
对这里需要哪些证书有任何想法或解释吗?
编辑: 以下是我用来创建应包含 ocsp 的 pkcs7 容器的代码:
OCSPVerifier ocspVerifier = new OCSPVerifier(null,null); // null,null >https://stackoverflow.com/questions/40765907/itextsharp-ocspclientbouncycastle-constructor-is-deprecated-whats-the-replacem
IOcspClient ocspClient = new OcspClientBouncyCastle(ocspVerifier);
var ocsp = ocspClient.GetEncoded(cert,rootCertificate,"http://www.my.com/aia/ocsp");
if (ocsp == null)
Console.WriteLine("oscp is null");
else
Console.WriteLine("ocsp is not null");
//Create the pkcs7 container
PdfPKCS7 sgn = new PdfPKCS7(null,c.ToArray(),HashAlgorithm,false);
byte[] sh = sgn.GetAuthenticatedAttributeBytes(hash,ocsp,null,PdfSigner.CryptoStandard.CMS);
//Load the signature via pkcs11 hardware
byte[] extSignature = GetSignatureFromHashViaPkcs11(sh,pin);
sgn.SetExternalDigest(extSignature,DigestEncryptionAlgorithm);
var ret = sgn.GetEncodedPKCS7(hash,tsaClient,PdfSigner.CryptoStandard.CMS);
无论我如何在 ocspClient.GetEncoded 中设置证书,生成的 ocsp 始终为 null
还有一个更基本的问题:颁发者和根证书是我用于创建签名的证书还是来自 ocsp 的证书?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。