Используя Acrobat 9, если я подпишу PDF-файл с помощью самозаверяющего сертификата, а затем отредактирую PDF-файл после его подписания, Acrobat сообщит мне, что в документе есть действительная подпись, но в документе также есть неподписанные изменения. Если я затем снова подпишу PDF-файл и посмотрю на панель подписи, он покажет первую подписанную ревизию с действительной подписью, отметит, что изменения были внесены после подписания первой ревизии, а затем покажет вторую подписанную ревизию с действительной подписью.
Я пытаюсь воспроизвести это поведение с помощью iTextSharp. В коде я создаю PDF-файл и подписываю его. Затем я редактирую PDF-файл и подписываю его снова. Когда я открываю документ в Acrobat, он показывает обе версии, но помечает первую редакцию как недействительную подпись, поскольку документ был изменен. Насколько я могу судить, я думаю, что iTextSharp подписывает весь документ, а не только первую ревизию внутри этого документа. Я установил для параметра Append значение true как в конструкторах PdfStamper, так и в конструкторах PdfSignatureAppearance, но, похоже, это не имеет никакого эффекта.
Поскольку я могу получить желаемый результат с помощью Acrobat, я предполагаю, что просто неправильно использую iTextSharp. Может кто-нибудь пролить некоторый свет на это?