Unterzeichnen von PDF-Dokumenten
Vorwort
Mit der verstärkten Umsetzung papierloser Vorgänge und Arbeitsabläufe nimmt
auch die Bedeutung digitaler Unterschriften zu. Im Bereich Dokumentenaustausch
spielt dabei das PDF
-Format eine vorrangige Rolle. Für Dokumente
dieses Formats besteht die Möglichkeit der digitalen Unterschrift
(Signatur).
Mit der folgenden Anleitung wird das Unterschreiben auf Basis der bereits für das Signieren und Verschlüsseln von E-Mails eingesetzten persönlichen Zertifikate erläutert. Damit sind fortgeschrittene elektronische Signaturen möglich.
Aussagen zur rechtlichen Anerkennung der hier beschriebenen digitalen Unterschriften können an dieser Stelle nicht getroffen werden. Jedoch sei erwähnt, dass es für rechtssichere Prozesse meist qualifizierter elektronischer Signaturen bedarf. Dazu gibt es weitere Informationen vom Dezernat Planung, Organisation und Zentrale Angelegenheiten.
Voraussetzungen
Als Identitätsnachweis benötigen Sie ein persönliches Zertifikat (X.509-Zertifikat), wie es für das Signieren und Verschlüsseln von E-Mails eingesetzt wird. Die Beantragung ist unter „Anfordern eines persönlichen Zertifikats“ beschrieben.
Hinweis: Schützen Sie Ihr persönliches Zertifikat und das zugehörige Passwort besonders sorgfältig. Verwenden Sie es nur auf vertrauenswürdigen Endgeräten.
PDF-Signatur einfügen
JSignPdf (plattformunabhängig)
Informationen zur Software: Projektseite von JSignPdf
- Wahl der Schlüsselbunddatei
Die Schlüsselbunddatei und das Schlüsselbund-Passwort dienen dem Nachweis Ihrer Identität.
- Als Schlüsselbundtyp ist das Format
BCPKCS12
einzustellen. - Wählen Sie als Identitätsnachweise Ihr persönliches Nutzerzertifikat (Datei mit Endung
.p12
), welches Sie auch in Ihre E-Mail-Anwendung importiert haben. - Geben Sie das Passwort für die Zertifikatsdatei an, welches Sie beim Export vergeben haben.
- Als Schlüsselbundtyp ist das Format
- Zu signierendes Dokument wählen
Wählen Sie das zu signierende Dokument. Dabei muss es sich um einen Datei im PDF-Format handeln. Sofern keine Ausgabedatei festgelegt wurde, legt JSignPdf eine neue Datei mit der Ergänzung
_signed
neben dem ausgewählten Dokument an. - Signatur anhängen
Aktivieren Sie diese Option nur, wenn das Dokument bereits eine digitale Signatur enthält und Sie eine weitere Signatur anhängen möchten. (Enthält das Dokument noch keine digitale Signaturi, tritt ein Fehler beim Signieren auf.)
- DFN-Zeitstempeldienst nutzen
Optional kann die digitale Unterschrift mit dem Zeitstempel eines vertrauenswürdigen Anbieters versehen werden. Für den Einsatz empfehlen wir den Zeitstempeldienst der DFN-PKI. Für die Konfiguration aktivieren Sie die Option
Verwenden Zeitstempel-Server
und geben Sie als TSA URLhttp://zeitstempel.dfn.de/
an. - Position der Unterschrift festlegen
In den Einstellungen kann die Position der Unterschrift festgelegt werden.
- Standardmäßig wird die Unterschrift links unten platziert, mittels
Preview & Select
kann ein Rahmen an der vorgesehenen Stelle im Dokument festgelegt werden.
An der Position der Unterschrift wird mit den Voreinstellungen ein Text:
Digital unterschrieben von Vorname Name
sowie dasDatum
und – falls angegeben – dieBegründung
und derOrt
aus dem Hauptfenster dargestellt.
Zusätzlich kann die Unterschrift durch eine Grafik, beispielsweise einen Scan der eigenen Unterschrift, hinterlegt werden. Dafür sind zur AnzeigeBild und Beschreibung
zu wählen und eine Bilddatei mit der Unterschrift anzugeben.
Tipp: Variieren Sie die Einstellungen bis Sie das gewünschte Ergebnis erhalten. - Standardmäßig wird die Unterschrift links unten platziert, mittels
- Signieren
Die Schritte des Signierens sowie das erfolgreiche Erzeugen der Signatur werden in einem Fenster ausgegeben. (Die Ausgaben können auch für die Fehlersuche herangezogen werden.)
Adobe Acrobat Reader (Microsoft Windows)
- Hinzufügen des persönlichen Zertifikats
- Dafür benötigen Sie Ihr persönliches Zertifikat (Datei mit Endung
.p12
), welches Sie auch in Ihre E-Mail-Anwendung importiert haben. - Klicken Sie im Acrobat Reader:
Bearbeiten
→Einstellungen
→ Kategorie:Unterschriften
→ Dialog:Identitäten und vertrauenswürdige Zertifikate
- Wählen Sie im Dialog
Einstellungen für digitale IDs und vertrauenswürdige Zertifikate
linksDigitale ID-Dateien
und danach die SchaltflächeDatei anhängen
.- Jetzt werden Sie aufgefordert, die digitale ID-Datei auszuwählen (Ihr persönliches Zertifikat mit der Endung
.p12
). - Im folgenden Schritt wird das Kennwort zum Öffnen der digitalen ID-Datei abgefragt (welches Sie beim Export vergeben haben).
- Jetzt werden Sie aufgefordert, die digitale ID-Datei auszuwählen (Ihr persönliches Zertifikat mit der Endung
- Der Import Ihres persönlichen Zertifikats ist jetzt abgeschlossen. Beim Signieren mit diesem Zertifikat werden Sie wieder nach dem Kennwort zum Öffnen der digitalen ID-Datei gefragt.
- Dafür benötigen Sie Ihr persönliches Zertifikat (Datei mit Endung
- Zeitstempeldienst konfigurieren
Die digitale Unterschrift kann mit einem Zeitstempel eines vertrauenswürdigen Anbieters versehen werden. Für den Einsatz empfehlen wir den Zeitstempeldienst der DFN-PKI.
- Klicken Sie im Acrobat Reader:
Bearbeiten
→Einstellungen
→ Kategorie:Unterschriften
→ Dialog:Zeitstempel für Dokumente
- Fügen Sie einen neuen
Uhrzeitstempelserver
über das+
-Symbol mit folgenden Angaben hinzu:- Server-URL:
http://zeitstempel.dfn.de/
- Mit der Option
Standardeinstellungen festlegen
wird der neu angelegte Zeitstempelserver automatisch für digitale Unterschriften benutzt. (Während des Signierens wird eine Verbindung zum Zeitstempelserver aufgebaut, diese Verbindung müssen Sie bei einer Rückfrage des Acrobat Readers zulassen.)
- Server-URL:
- Klicken Sie im Acrobat Reader:
- Signieren von Dokumenten
- Öffnen Sie das zu signierende Dokument im Acrobat Reader.
- Wählen Sie im Werkzeugdialog „
Ein Zertifikat verwenden
”.- Im Untermenü finden Sie jetzt die Option „
Digital signieren
” - Nach Aktivieren der Option werden Sie aufgefordert, einen Bereich für die digitale Unterschrift im Dokument auszuwählen.
- Zum Signieren wird jetzt Ihre importierte
Digitale ID
angeboten. - Das Erscheinungsbild der Signatur kann angepasst werden (z. B. mit Scan oder Skizze der Unterschrift).
- Vor dem Unterschreiben werden Sie zur Eingabe des Kennworts für Ihre
Digitale ID-Datei
aufgefordert. - Mit der Abfrage eines Dateinamens für das unterschriebene Dokument wird dieses gespeichert.
- Im Untermenü finden Sie jetzt die Option „
Libre Office
Die Libre-Office-Suite kann gültige digitale Signaturen erzeugen, jedoch werden diese in der Dokumentenansicht nicht angezeigt.
Beim Exportieren eines in Libre Office erstellten Dokuments in das PDF-Format
befinden sich die zugehörigen Einstellungen im Tab Digitale
Signaturen
. Libre Office greift dabei standardmäßig auf die Zertifikate
der E-Mail-Anwendung Thunderbird zurück. Die Pfade zur
Zertifikatsdatenbank können im Dialog Extras
→ Optionen
unter Libre Office
→ Sicherheit
→ Zertifikate
eingerichtet werden.
Okular
Okular unterstützt das Signieren seit Version 21.04 und verwendet NSS zur Verarbeitung der Zertifikate. Diese werden standardmäßig aus dem Firefox-Speicher geladen. Es gibt aber auch die Möglichkeit einen eigenen Zertifikatsspeicher anzulegen.
$ mkdir -p ~/.nss
$ certutil -N -d ~/.nss
$ pk12util -i cert.p12 -d ~/.nss
Unter Okular wird der Zertifikatsspeicher wie folgt eingerichtet:
Einstellungen
→ Anzeigemodule
→ PDF
→ Pfad zur NSS-Datenbank angeben. Danach muss Okular zwingend neu gestartet
werden.
So erstellt man dann eine Signatur: Extras
→ Digital
signieren …
→ Rechteckigen Bereich auswählen → Schlüssel auswählen
→ Dateinamen für signiertes PDF angeben.
PDF-Signatur überprüfen
PDF ist ein Container-Format, welches es ermöglicht, ein Dokument im Nachhinein zu ergänzen bzw. Inhalte eines Dokuments zu ändern. Die Änderungen werden dem Dokument i. d. R. hinzugefügt. Ursprüngliche Inhalte bleiben erhalten, werden nur nicht mehr angezeigt. Aus diesem Grund bleibt die Signatur eines geänderten PDF-Dokuments gültig. Dies hat Folgen für die Signaturprüfung.
Die Person, die ein Dokument prüft, muss erkennen, ob die Signatur
- gültig und unverändert ist oder
- gültig, das Dokument aber nachträglich geändert wurde oder
- ungültig ist.
Gerade die Darstellung der ersten beiden Punkte ist im PDF-Betrachter nur subtil unterschiedlich. Sollte der zweite Fall eintreten, darf man sich nicht auf den angezeigten Inhalt verlassen. Gute PDF-Betrachter bieten die Möglichkeit, die unterzeichnete Version des Dokuments anzuzeigen und nachträgliche Änderungen auszublenden. Auf diese Funktion muss dann zurückgegriffen werden.
Trotz sorgfältigen Vorgehens gibt es Möglichkeiten, die Signaturprüfung einiger PDF-Betrachter auszutricksen (https://www.pdf-insecurity.org/). Aus diesem Grund ist es notwendig, stets aktuelle Versionen einzusetzen und sich fortlaufend über den aktuellen Stand der Technik zu informieren.
Adobe Acrobat Reader (Microsoft Windows)
Der Acrobat Reader von Adobe kann digitale Signaturen in PDF-Dokumenten prüfen und die Eigenschaften der Signatur anzeigen.
Leider vertraut der Acrobat Reader nicht von Hause aus der Zertifizierungsstelle des DFN-Vereins bzw. von Sectigo (neuere Zertifikate), welche die persönlichen Zertifikate ausgeben. Um diesbezüglich eine erfolgreiche Validierung der digitalen Unterschrift zu erreichen, muss das entsprechende Wurzelzertifikat im Acrobat Reader bekannt gemacht werden. Gehen Sie dafür wie folgt vor:
- Speichern Sie das Wurzelzertifikat
T-Telesec Global Root Class 2
von der Corporate-PKI-Seite der Deutschen Telekom AG im.crt
-Format
Bzw. Speichern Sie das WurzelzertifikatAAA Certificate Services
von Sectigo Limited im.crt
-Format („Download Certificate: PEM“). - Klicken Sie im Acrobat Reader:
Bearbeiten
→Einstellungen
→ Kategorie:Unterschriften
→ Dialog:Identitäten und vertrauenswürdige Zertifikate
- Wählen Sie im Dialog
Einstellungen für digitale IDs und vertrauenswürdige Zertifikate
linksVertrauenswürdige Zertifikate
und danach die SchaltflächeImportieren
- Wählen Sie im Dialog
Zu importierenden Kontakt auswählen
→Durchsuchen
das gespeicherte Wurzelzertifikat. - Wählen Sie jetzt das importierte Zertifikat aus und öffnen Sie den Dialog:
Vertrauenswürdigkeit...
- Aktivieren Sie die Option:
Dieses Zertifikat als vertrauenswürdigen Stamm verwenden
. - Nach schließen des Dialogs
Vertrauenswürdigkeit
wählen SieImportieren
, der Importvorgang wird anschließend bestätigt - Eine erneute Validierung der Unterschriften sollte diese als gültig bestätigen
Libre Office
Die Draw-Anwendung der Libre-Office-Suite kann PDF-Dokumente öffnen und digitale Signaturen anzeigen.
Über den Dialog Datei
→ Eigenschaften
finden Sie im
Tab Allgemein
weitere Informationen unter dem Dialog
Digitale Signaturen…
.
Ist die Signatur gültig, wird dies signalisiert:
Wurde nur ein Teil des Dokumentes signiert, wird dies durch folgenden Dialog angezeigt:
Fehlerhafte oder ungültige Signaturen werden wie folgt signalisiert:
pdfsig
Das Kommandozeilenwerkzeug pdfsig
aus der aktuellen
Poppler-Bibliothek kann digitale Signaturen anzeigen und prüfen.
Informationen zur Bibliothek: Homepage der PDF Rendering Engine Poppler
Folgendes Dokument ist gültig signiert und wurde nicht nachträglich verändert:
$ pdfsig File_signed.pdf Digital Signature Info of: File_signed.pdf Signature #1: - Signer Certificate Common Name: Vorname Name - Signer full Distinguished Name: CN=Vorname Name,OU=Universitaetsrechenzentrum,O=Technische Universitaet Chemnitz,C=DE - Signing Time: Aug 11 2020 11:01:10 - Signing Hash Algorithm: SHA-256 - Signature Type: adbe.pkcs7.detached - Signed Ranges: [0 - 4360], [34362 - 113127] - Total document signed - Signature Validation: Signature is Valid. - Certificate Validation: Certificate is Trusted.
Folgendes Dokument ist gültig signiert, wurde aber nachträglich verändert. Das
ist am „Not total document signed
“ zu erkennen.
$ pdfsig File_signed.pdf Digital Signature Info of: File_signed.pdf Signature #1: - Signer Certificate Common Name: Vorname Name - Signer full Distinguished Name: CN=Vorname Name,OU=Universitaetsrechenzentrum,O=Technische Universitaet Chemnitz,C=DE - Signing Time: Nov 16 2020 12:46:55 - Signing Hash Algorithm: SHA-256 - Signature Type: adbe.pkcs7.detached - Signed Ranges: [0 - 67686], [98030 - 207260] - Not total document signed - Signature Validation: Signature is Valid. - Certificate Validation: Certificate is Trusted.
Folgendes Dokument ist ungültig:
$ pdfsig File_signed.pdf Digital Signature Info of: File_signed.pdf Signature #1: - Signer Certificate Common Name: Vorname Name - Signer full Distinguished Name: CN=Vorname Name,OU=Universitaetsrechenzentrum,O=Technische Universitaet Chemnitz,C=DE - Signing Time: Nov 16 2020 12:46:55 - Signing Hash Algorithm: SHA-256 - Signature Type: adbe.pkcs7.detached - Signed Ranges: [0 - 67686], [98030 - 207260] - Total document signed - Signature Validation: Digest Mismatch.
Okular
Okular weist automatisch darauf hin, dass Signaturen im PDF-Dokument vorhanden sind. Durch Klick auf den entsprechenden Button lässt sich der Signaturbereich anzeigen:
Wurde das Dokument nach der Unterschrift verändert, muss man stets die signierte Version zu Anzeige bringen:
Achtung, Okular prüft wirklich nur die Signatur! Das verwendete Zertifikat und dessen Aussteller wird nicht mit ausgewertet. (Damit wird auch für ein selbstgeneriertes Zertifikat, mit dem ein PDF-Dokument signiert wird, eine gültige Signatur bescheinigt.) Das Zertifikat muss also manuell kontrolliert werden.