Подтвердить что ты не робот

Цифровая подпись PDF файлов

У меня есть цифровой сертификат, который идентифицирует пользователя. Мне нужно использовать его для цифровой подписи файлов PDF.

Есть ли у кого-нибудь пример, который не использует сторонний компонент? Мне нужно сделать это, но было бы неплохо полностью понять, как это делается.

Примеры С#, пожалуйста:)

4b9b3361

Ответ 1

Библиотека с открытым исходным кодом iTextSharp позволит вам сделать это. Здесь сообщение, объясняющее, как подписать PDF файл под цифровой подписью. Если вы не хотите использовать стороннюю библиотеку, тогда вы можете реализовать ее самостоятельно, но это может быть сложной задачей → вы можете начать с чтения спецификации pdf (8.6MB)

Ответ 2

Правильное подписание PDF - очень сложная задача. Существует несколько файлов, которые не соответствуют спецификации PDF (сломанные xrefs и т.д.), И ваш код должен обрабатывать все из них. Затем различные версии Acrobat обрабатывают определенные вещи в подписанных полях по-разному. Поэтому, если вам нужно выполнить задачу (а не изучать, как она работает), вы должны полагаться на стороннее решение, например, на наши PDFBlackbox.

Ответ 3

Цифровая подпись документа PDF без использования стороннего компонента влечет за собой большую работу и, как правило, лучше всего избегать.

Компоненты выполняют всю тяжелую работу для вас, поэтому вам не нужно. Вы должны найти отличные свободные компоненты PDF, которые будут соответствовать вашим потребностям.

В следующем примере, написанном на С#, показано, как просто цифровая подпись PDF-документа с помощью ABCpdf:

Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("../Rez/Authorization.pdf"));
Signature theSig = (Signature)theDoc.Form["Signature"];
theSig.Location = "Washington";
theSig.Reason = "Schedule Agreed";
theSig.Sign(Server.MapPath("../Rez/JohnSmith.pfx"), "111111");
theDoc.Save(Server.MapPath("Signed.pdf"));

Источник: Документация ABCpdf - Метод знака

Ответ 4

Потерял свой первый ответ. Может захотеть дать DocQ попробовать текст ссылки У них есть свой собственный сертификат и он может сделать это для вас бесплатно/дешево для печати и шифрования PDF файлов. У них также есть API, который вы можете использовать.