Как я могу подписать PDF цифровой подписью?

31

Я уже получил сертификат S / MIME (файл .p12), выданный органом. Используя его в Writer, я могу подписать документы цифровой подписью, выполнив следующую процедуру:  Как сделать цифровой сертификат доступным для LibreOffice Writer для цифровых подписей?

Могу ли я сделать то же самое для файлов PDF? Если да, то какой метод вы мне предлагаете? Я бы предпочел решение, основанное на свободном программном обеспечении.

Agmenor
источник

Ответы:

14

Я обнаружил, что вы можете использовать gpg для подписи PDF таким образом, чтобы он по-прежнему открывался в программе просмотра.

gpg --clearsign --output=signed.pdf input.pdf

Выше приведен файл .asc, который в основном представляет собой конкатенацию входной сигнатуры ||, но расширение файла принудительно устанавливается в .pdf, что позволяет открывать его в средстве просмотра, создавать эскизы и т. Д.

введите описание изображения здесь

Вы можете проверить подпись снова используя gpg.

$ gpg --verify signed.pdf 
gpg: Podpisano nie, 12 kwi 2015, 19:07:15 CEST z użyciem RSA kluczem
gpg: Poprawny podpis od "Arkadiusz Bulski <arek.bulski@gmail.com>"

Имейте в виду, что некоторые PDF-файлы не работают с подписью таким образом, например, оптимизированные PDF-файлы. Вы должны проверить результаты самостоятельно.

ArekBulski
источник
3
Читатели PDF дают какие-либо указания, что это PDF-файл, подписанный PGP?
Мендхак
Нет, PDF просматривается несмотря на прикрепленную подпись.
АрекБульски
1
Возможно, какое-то программное обеспечение будет игнорировать заголовок GPG, но Adobe Acrobat Reader и Foxit Reader не нравятся и считают такой PDF поврежденным. Так что да, проблема взаимодействия ума.
dma_k
1
Интересно, но вопрос был о сертификатах S / MIME.
Энди
Как просмотреть этот встроенный PDF без подписи?
SYK
12

Ваш единственный вариант - Portable Signer. Загрузите его и запустите банку. Для этого требуется закрытый ключ в файле p12 (не совместимый с SmartCard).

Вы могли бы ожидать, что инструменты подписи документов Ubuntu, такие как qdigidoc или gpg, подойдут, но нет, они не играют с подписями PDF.

Затем вы можете ожидать, что Ubuntu PDF манипулирует такими инструментами, как qpdf, который обеспечивает шифрование, или pdftk, который обеспечивает водяные знаки, которые также предоставляют функции подписи, но, нет, они этого не делают.

Полный список инструментов с открытым исходным кодом, доступных для вашей цели: http://wiki.cacert.org/PdfSigning

К сожалению, ни один из инструментов в настоящее время не поддерживается, и ни один не может быть найден в пакетах Ubuntu. Портативный Signer является самым ухоженным из всех.

  • Portable Signer не обновлялся с 2014 года - он самый ухоженный среди всех.
  • jSignPdf не обновлялся с 2013 года.
  • jPdfSign не обновлялся с 2006 года.
  • PACSigner CACert использует устаревший инструмент iText.
  • OpenSignature не обновлялась с 2008 года.
  • Ссылка на Footprint не работает.
  • jPDFSecure (коммерческий) - обновлен в 2017 году, но это библиотека Java, а не пользовательский инструмент.
Танкист 六四
источник
8

Вы можете подписывать PDF-файлы с помощью gpg / seahorse.

Узнайте больше: https://help.ubuntu.com/community/GnuPrivacyGuardHowto

Например, вы можете использовать OpenSignPDF , который можно скачать здесь: http://opensignature.sourceforge.net/english.php

Надеюсь, это ответит на ваш вопрос.

Октавио Филипе Гонсалвес
источник
Спасибо, Subv3rsion! Кроме того, я также нашел некоторые проприетарные программы в Центре программного обеспечения Ubuntu. Но я не собираюсь делать рекламу здесь.
Агменор
3
Хорошо, но, пожалуйста, скажите, какие программы вы нашли?
Октавио Филипе Гонсалвес
1
Обратите внимание, что GPG и Seahorse могут не понравиться формат S / MIME, который иногда требуется PDF-файлам в бизнес-среде.
Томас Уорд
2
Иногда некоторые люди действительно должны подписать с .p12. Это не отвечает на вопрос.
jgomo3
8

Если у вас есть сертификат, доступный в Writer, и если вы используете его функцию « Экспорт в PDF» , вы можете также подписать полученный PDF-файл цифровой подписью на последней вкладке диалогового окна непосредственно перед экспортом.

AFAICT, Acrobat Reader для Android говорит, что документ защищен, FWIW.

Обновление '17 : С декабря прошлого года вы можете подписать PDF файлы с LibreOffice , перейдя File → Digital signatures → Sign exiting PDF.

Это откроет Draw, который способен подписать PDF.

K3 --- СРН
источник
Я замечаю, что иногда не удается найти шрифт, а затем искажает весь документ, выталкивая текст со страницы
Джонатан
3

Master PDF Editor имеет бесплатную версию, которая будет подписывать файлы .p12.

Однако бесплатная версия оставляет безобразный водяной знак. Интересно, что это можно удалить в самой программе или с помощью другого редактора PDF (например, LibreOffice Draw).

qwr
источник
1

PDF Studio 7 Pro, доступный в Центре программного обеспечения, поддерживает цифровую подпись PDF-файлов. На момент написания статьи это стоит всего 125 долларов.

Согласно официальному сайту , это действительно подпись S / MIME.

Agmenor
источник
20
«всего» 125 долларов. Хах!
словами
-1

Я закончил тем, что делал следующее

1) Installed Virtual Box 
2) Then installed virtual box extension pack (For usb token)
3) Download windows 10 iso available for free from MS website.
4) Boot into windows downloaded Adobe reader and signed the document.

Не родное решение, но оно выполняет свою работу.

Мистер кодер
источник