PDF/signature: Unterschied zwischen den Versionen
W01f (Diskussion | Beiträge) (draft) |
W01f (Diskussion | Beiträge) K (text aus pad geholt) |
||
Zeile 1: | Zeile 1: | ||
== | Eine Unterschrift sichert die Authentizität eines Dokumentes. Die Nachahmung einer Unterschrift ist Urkundenfäschung – eine Straftat. | ||
Dennoch lässt sich eine Unterschrift oft nicht leicht überprüfen. Dieses Manko beheben Digitale bzw. Kryptografische Signaturen. | |||
Die Digitale Signatur, die Adobe mit seinen Produkten für PDF Dokumente anbietet, ist eine proprietäre Umsetzung auf Basis von S/MIME bzw. x509 Zertifikaten. | |||
Wahlweise können Autoritäten für Zeitstempel garantieren (auch genannte Zeitstempel-Server). | |||
Hier möchten wir zusammentragen, wie man auch mit Freier Software Signaturen umsetzen kann. Hier gibt es neben Kompatibiltät zur proprietären Lösung auch die Alternative nach dem OpenPGP Standard. | |||
Gemeinsam ist den Lösungen, dass der Inhalt über kryptografische Funktionen eindeutig identifizierbar gemacht wird. | |||
Beispiel wie eine signierte PDF nach proprietärem Standard aussieht: http://www.globalsign.com/resources/CDS_Consumer_Guide.pdf | |||
== PDF Formular vorbereiten == | |||
Zur Vorbereitung eines PDFs für die Signatur nach dem proprietären Standard von Adobe muss ein Signatur-Feld eingefügt werden. | |||
=== Mit LaTeX / pdflatex === | |||
So vorbereitete PDFs werden erst ab Adobe Reader Version 11.0.7 sigiert. <ref>[https://tex.stackexchange.com/questions/294019/is-there-a-package-that-can-create-signatures-for-adobe-pdf-version-1-6-code]</ref> | |||
Ggf. erst nachdem Sie "Reader Extended" sind. Dazu kann Acrobat Pro oder LiveCycle Reader Extensions ES verwendet werden.<ref>[https://forums.adobe.com/thread/510585]</ref> | |||
<ref>[https://tex.stackexchange.com/questions/51090/how-do-i-create-a-pdf-file-that-can-be-digitally-signed]</ref> | |||
==== digsig ==== | |||
<ref>[http://home.htp-tel.de/lottermose2/tex/dist/digsig.sty]</ref> | |||
<ref>[http://home.htp-tel.de/lottermose2/tex/index.html]</ref> | |||
<pre> | |||
\documentclass{article} | |||
\usepackage{digsig} | |||
\begin{document} | |||
\begin{Form} | |||
\digsigfield{5cm}{3cm}{My signature} | |||
\end{Form} | |||
\end{document} | |||
</pre> | |||
==== eforms/acrotex ==== | |||
<ref>[https://www.ctan.org/pkg/eforms]</ref> | |||
<pre> | |||
\documentclass{article} | |||
\usepackage{eforms} | |||
\begin{document} | |||
\sigField{My signature}{5cm}{3cm} | |||
\end{document} | |||
</pre> | |||
Um Sicher zu stellen, dass die Formularfelder nach Änderung nicht editierbar sind, müssen die Bezeichner einmalig sein.<ref>[https://tex.stackexchange.com/questions/88754/locking-fields-in-digital-signature]</ref> | |||
=== Mit XeLaTeX === | |||
<ref>[https://tex.stackexchange.com/questions/316272/how-to-attach-a-digital-signature-to-my-pdf-created-by-xetex]</ref> | |||
<pre> | |||
\special{pdf:ann width 3in height 1in | |||
<< | |||
/T (My Signature) | |||
/Subtype /Widget | |||
/FT /Sig | |||
/F 4 | |||
/Q 1 | |||
/MK << /BC [] >> | |||
>> | |||
} | |||
</pre> | |||
==== Mit Adobe ==== | |||
${tbc}{Einfügen/Formularfeld/Unterschrift ?} | |||
=== PDF Signieren === | |||
==== OpenPGP ==== | |||
Mit OpenPGP<ref>[https://askubuntu.com/questions/147379/how-do-i-digitally-sign-a-pdf]</ref> kann ein Dokument digital signiert und überprüft werden. Das ist sozusagen eine Grundfunktion. | |||
Dabei kann die Signatur für PDF-Dokumente enthalten sein und gleichzeitig die Anzeige nicht stören. | |||
Es wird empfohlen das Resultat zu testen, da verschiedene PDF-Versionen Probleme bereiten können. | |||
===== Signieren ===== | |||
gpg --clearsign --output=signed.pdf input.pdf | |||
===== Überprüfen ===== | |||
gpg --verify signed.pdf | |||
==== LibreOffice ==== | |||
Mit LibreOffice<ref>[https://askubuntu.com/questions/122058/how-do-i-make-a-digital-certificate-available-to-libreoffice-writer-for-digital]</ref> | |||
kann, eine Signatur-Datei vorausgesetzt, jedes Dokument beim PDF-Export signiert werden. | |||
Dazu einfach Datei / Als PDF exportieren und anschließend den Reiter für Digitale Signaturen anwählen. | |||
==== OpenSignature ==== | |||
Siehe http://opensignature.sourceforge.net/english.php | |||
==== PortableSigner ==== | |||
Siehe http://portablesigner.sourceforge.net/ | |||
==== Mit Adobe Acrobat bzw. Reader ==== | |||
Acrobat Pro bzw Reader ab Version 11.0.7 sollten das können. | |||
${tbc}{Signatur-Datei auf Signatur-Feld ziehen ?} | |||
==== Microsoft Word ==== | |||
MS Word kann das auch.<ref>[https://superuser.com/questions/416544/microsoft-word-and-digital-signatures-using-pgp]</ref> | |||
${tbc}{Ähnlich Writer} | |||
== Referenzen == | |||
<references /> |
Version vom 3. Oktober 2016, 13:09 Uhr
Eine Unterschrift sichert die Authentizität eines Dokumentes. Die Nachahmung einer Unterschrift ist Urkundenfäschung – eine Straftat. Dennoch lässt sich eine Unterschrift oft nicht leicht überprüfen. Dieses Manko beheben Digitale bzw. Kryptografische Signaturen. Die Digitale Signatur, die Adobe mit seinen Produkten für PDF Dokumente anbietet, ist eine proprietäre Umsetzung auf Basis von S/MIME bzw. x509 Zertifikaten. Wahlweise können Autoritäten für Zeitstempel garantieren (auch genannte Zeitstempel-Server). Hier möchten wir zusammentragen, wie man auch mit Freier Software Signaturen umsetzen kann. Hier gibt es neben Kompatibiltät zur proprietären Lösung auch die Alternative nach dem OpenPGP Standard.
Gemeinsam ist den Lösungen, dass der Inhalt über kryptografische Funktionen eindeutig identifizierbar gemacht wird.
Beispiel wie eine signierte PDF nach proprietärem Standard aussieht: http://www.globalsign.com/resources/CDS_Consumer_Guide.pdf
PDF Formular vorbereiten
Zur Vorbereitung eines PDFs für die Signatur nach dem proprietären Standard von Adobe muss ein Signatur-Feld eingefügt werden.
Mit LaTeX / pdflatex
So vorbereitete PDFs werden erst ab Adobe Reader Version 11.0.7 sigiert. [1] Ggf. erst nachdem Sie "Reader Extended" sind. Dazu kann Acrobat Pro oder LiveCycle Reader Extensions ES verwendet werden.[2]
digsig
\documentclass{article} \usepackage{digsig} \begin{document} \begin{Form} \digsigfield{5cm}{3cm}{My signature} \end{Form} \end{document}
eforms/acrotex
\documentclass{article} \usepackage{eforms} \begin{document} \sigField{My signature}{5cm}{3cm} \end{document}
Um Sicher zu stellen, dass die Formularfelder nach Änderung nicht editierbar sind, müssen die Bezeichner einmalig sein.[7]
Mit XeLaTeX
\special{pdf:ann width 3in height 1in << /T (My Signature) /Subtype /Widget /FT /Sig /F 4 /Q 1 /MK << /BC [] >> >> }
Mit Adobe
${tbc}{Einfügen/Formularfeld/Unterschrift ?}
PDF Signieren
OpenPGP
Mit OpenPGP[9] kann ein Dokument digital signiert und überprüft werden. Das ist sozusagen eine Grundfunktion. Dabei kann die Signatur für PDF-Dokumente enthalten sein und gleichzeitig die Anzeige nicht stören. Es wird empfohlen das Resultat zu testen, da verschiedene PDF-Versionen Probleme bereiten können.
Signieren
gpg --clearsign --output=signed.pdf input.pdf
Überprüfen
gpg --verify signed.pdf
LibreOffice
Mit LibreOffice[10]
kann, eine Signatur-Datei vorausgesetzt, jedes Dokument beim PDF-Export signiert werden.
Dazu einfach Datei / Als PDF exportieren und anschließend den Reiter für Digitale Signaturen anwählen.
OpenSignature
Siehe http://opensignature.sourceforge.net/english.php
PortableSigner
Siehe http://portablesigner.sourceforge.net/
Mit Adobe Acrobat bzw. Reader
Acrobat Pro bzw Reader ab Version 11.0.7 sollten das können.
${tbc}{Signatur-Datei auf Signatur-Feld ziehen ?}
Microsoft Word
MS Word kann das auch.[11]
${tbc}{Ähnlich Writer}