IText: невозможно установить свойство СryptoDictionary для PdfSignatureAppearance - PullRequest
2 голосов
/ 25 мая 2020

Был код с использованием 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, потому что нет метода или свойство делать это.

1 Ответ

1 голос
/ 26 мая 2020

API подписи iText 7 пытается скрыть детали реализации, которые больше не должны использоваться после капитального ремонта API подписи 5.3.x, и словарь подписей представляет собой такую ​​деталь.

Подробнее об API подписи представленных в версиях 5.3.x, пожалуйста, ознакомьтесь с официальным документом iText Digital Signatures . Примеры Java были перенесены в C# и доступны здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...