PDF/signature: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
(draft)
 
K (text aus pad geholt)
Zeile 1: Zeile 1:
== Referenzen ==
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 ?}


http://askubuntu.com/questions/87419/how-can-i-add-text-and-images-for-example-a-signature-to-a-pdf
==== Microsoft Word ====


http://askubuntu.com/questions/147379/how-do-i-digitally-sign-a-pdf
MS Word kann das auch.<ref>[https://superuser.com/questions/416544/microsoft-word-and-digital-signatures-using-pgp]</ref>


http://superuser.com/questions/1050032/digitally-sign-latex-pdf-document-with-ca
${tbc}{Ähnlich Writer}


https://answers.acrobatusers.com/How-do-I-create-a-PDF-file-that-can-be-digitally-signed-q82444.aspx
== Referenzen ==


http://tex.stackexchange.com/questions/51090/how-do-i-create-a-pdf-file-that-can-be-digitally-signed
<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]

[3]

digsig

[4] [5]

\documentclass{article}
\usepackage{digsig}
\begin{document}

    \begin{Form}

      \digsigfield{5cm}{3cm}{My signature}

    \end{Form}

\end{document}

eforms/acrotex

[6]

\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

[8]

\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}

Referenzen