IText:无法设置PdfSignatureAppearance的СryptoDictionary属性

问题描述 投票:2回答:1

[使用iTextSharp的代码:

PdfReader reader = new PdfReader(document);
PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(document + "_signed.pdf", FileMode.Create, FileAccess.Write), '\0');                        
PdfSignatureAppearance sap = st.SignatureAppearance;

// something

PdfSignature dic = new PdfSignature(filterName, PdfName.ADBE_PKCS7_DETACHED);
sap.CryptoDictionary = dic;

我需要使用iText7编写它:

PdfReader reader = new PdfReader(@"C:\Users\RakuVIu\Documents\rozha.pdf");
PdfSigner signer = new PdfSigner(reader, new FileStream(document + "_signed.pdf", FileMode.Create), new StampingProperties());
PdfSignatureAppearance appearance = signer.GetSignatureAppearance();

// something

PdfSignature signature = new PdfSignature(filterName, PdfName.Adbe_pkcs7_detached);
appearance.SetCryptoDictionary(signature); // no such method!

因此,我无法设置CryptoDictionary属性,因为没有方法或属性可以执行此操作。

c# itext
1个回答
1
投票

iText 7签名API尝试隐藏实现细节,自5.3.x签名API全面检查以来,该细节不再使用,并且签名字典就是这样的细节。

有关5.3.x版本中引入的签名API的详细信息,请阅读iText Digital Signatures white paper。其中的Java示例已移植到C#,并且可以访问here

© www.soinside.com 2019 - 2024. All rights reserved.