Como assino digitalmente um PDF?

31

Eu já adquiri um certificado S / MIME (um arquivo .p12) emitido por uma autoridade. Utilizando-o no Writer, posso assinar documentos digitalmente seguindo este procedimento:  Como disponibilizo um certificado digital para o LibreOffice Writer para assinaturas digitais?

Posso fazer o mesmo com arquivos PDF? Se sim, qual método você me sugere? Eu preferiria uma solução que se baseia no software livre.

Agmenor
fonte

Respostas:

14

Descobri que você pode usar o gpg para assinar um PDF de maneira que ele ainda seja aberto no visualizador.

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

Acima resultaria em arquivo .asc, que é basicamente concatenação da assinatura de entrada ||, mas a extensão do arquivo é forçada em .pdf, abrindo no visualizador, produzindo miniaturas etc.

insira a descrição da imagem aqui

Você pode verificar a assinatura usando gpg novamente.

$ 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 <[email protected]>"

Esteja avisado de que alguns PDFs não funcionam bem com a assinatura dessa maneira, como os PDFs otimizados. Você deve verificar os resultados você mesmo.

ArekBulski
fonte
3
Os leitores de PDF dão alguma indicação de que este é um PDF assinado por PGP?
Mendhak
Não, o PDF é exibido apesar da assinatura anexada.
ArekBulski
1
Talvez o cabeçalho GPG seja ignorado por alguns softwares, mas o Adobe Acrobat Reader e o Foxit Reader não gostam disso e consideram esse PDF quebrado. Então sim, problema de interoperabilidade da mente.
21417 Dma_k 6/10
1
Interessante, mas a pergunta era sobre certificados S / MIME.
22417 Andy
Como visualizar este PDF incorporado sem assinatura separada?
SYK
12

Sua única opção é Portable Signer. Faça o download e execute o jar. No entanto, requer uma chave privada em um arquivo p12 (não é compatível com o SmartCard).

Você pode esperar ferramentas de assinatura de documentos do Ubuntu, como qdigidoc ou gpg, mas não, elas não brincam com assinaturas em PDF.

Você pode esperar que as ferramentas de manipulação de PDF do Ubuntu, como qpdf, que fornece criptografia, ou pdftk, que fornece marca d'água, forneçam recursos de assinatura também, mas, não, eles não.

A lista total de ferramentas de código aberto disponíveis para seu objetivo é: http://wiki.cacert.org/PdfSigning

Infelizmente, nenhuma das ferramentas é atualmente mantida e nenhuma pode ser encontrada nos pacotes Ubuntu. O Portable Signer é o mais bem conservado de todos.

  • O Portable Signer não é atualizado desde 2014 - este é o mais bem conservado entre todos.
  • O jSignPdf não é atualizado desde 2013.
  • O jPdfSign não é atualizado desde 2006.
  • O PDFSigner do CACert usa a ferramenta iText desatualizada.
  • O OpenSignature não é atualizado desde 2008.
  • O link da Pegada está quebrado.
  • jPDFSecure (comercial) - atualizado em 2017, mas é uma biblioteca Java e não uma ferramenta do usuário.
Tankman 六四
fonte
8

Você pode assinar arquivos PDF com gpg / seahorse.

Saiba mais: https://help.ubuntu.com/community/GnuPrivacyGuardHowto

Você pode, por exemplo, usar o OpenSignPDF , que pode ser baixado aqui: http://opensignature.sourceforge.net/english.php

Espero que isso responda à sua pergunta.

Octávio Filipe Gonçalves
fonte
Obrigado Subv3rsion! Como alternativa, também encontrei alguns programas proprietários no Ubuntu Software Center. Mas eu não vou fazer propaganda aqui.
Agmenor 6/06/12
3
Ok, mas por favor, você pode me dizer quais programas você encontrou?
Octávio Filipe Gonçalves
1
Observe que o GPG e o Seahorse podem não gostar do formato S / MIME exigido pelo (s) PDF (s) em ambientes de negócios.
Thomas Ward
2
Algumas vezes, algumas pessoas realmente precisam assinar com um .p12. Isso não responde à pergunta.
Jgomo3
8

Se você tiver o certificado disponível no Writer e se estiver usando a função Exportar para PDF , também poderá assinar digitalmente o PDF resultante na última guia da caixa de diálogo antes da exportação.

AFAICT, Acrobat Reader para Android diz que o documento está protegido, FWIW.

Atualização '17 : Desde dezembro passado, você pode assinar arquivos PDF com o LibreOffice indo File → Digital signatures → Sign exiting PDF.

Isso abrirá o Draw, capaz de assinar o PDF.

K3 --- rnc
fonte
Percebo que às vezes não consegue encontrar a fonte e, em seguida, ela distorce todo o documento, empurrando texto fora da página
Jonathan
3

O Master PDF Editor possui uma versão gratuita que assina arquivos .p12.

No entanto, a versão gratuita deixa uma marca d'água feia. Curiosamente, isso pode ser removido dentro do próprio programa ou com outro editor de PDF (por exemplo, LibreOffice Draw).

qwr
fonte
1

O PDF Studio 7 Pro, disponível no Centro de Software, possui assinatura digital de PDFs. A partir de quando estou escrevendo, custa apenas 125 $.

De acordo com o site oficial , é realmente assinatura S / MIME.

Agmenor
fonte
20
'apenas' $ 125. Hah!
wordsforthewise
-1

Acabei fazendo o seguinte

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.

Não é a solução nativa, mas realiza o trabalho.

Mr Coder
fonte