#c# #itext
#c# #itext
Вопрос:
В настоящее время я программирую средство цифровой подписи на C # с помощью библиотеки iTextSharp. Первоначально подписывающий работает должным образом, поскольку он подписал документ, запросил pin-код и т. Д. Все было хорошо, пока меня не попросили подписать, а также активировать LTV, который в данном случае использует PAdES.
Документ, который должен быть подписан, представляет собой PDF, который должен иметь отметку TSA, в случае, если я делаю
ITSAClient t = new TSAClientBouncyCastle ( "myURL");
Пока все шло хорошо.
Но когда я пытаюсь добавить LTV следующим образом
MakeSignature.SignDetached (signatureAppearance, externalSignature, chain, null, null, t, 0, CryptoStandard.CADES);
LtvVerification v = pdfStamper.LtvVerification;
LtvTimestamp.Timestamp (signatureAppearance, t, null);
И отправьте мне сообщение, в котором говорится
«Уже предварительно закрытый документ»
Не могли бы мне кто-нибудь помочь?
Комментарии:
1.
MakeSignature.SignDetached
документ уже закрывается. Если вы хотите добавить некоторые изменения после этого, вам придется снова прочитать сгенерированный PDF-файл с новымPdfReader
и манипулировать им с новымPdfStamper
.2. спасибо, это означает, что мне нужно поставить отметку LtvTimestamp. Временная метка (signatureAppearance, t, null);, перед удалением подписи?????
3. Нет,
LtvTimestamp.Timestamp
также закрывает документ. Временная отметка технически очень похожа на подпись.