CIB pdf toolbox technischer Leitfaden (DE)

6. PDF Signatur mit Zertifikat

6.1. Allgemeine Informationen zur PDF-Signatur

Allgemein
Signieren/Verifizieren mit der CIB pdf toolbox
Signieren/Verfizieren im CIB pdf toolbox merge
Signieren/Verfizieren im CIB pdf toolbox join

Allgemein

Es gibt zwei Typen von PDF-Signaturen.

a.) Byte Range Signatur:

Bei einer Byte Range Signatur handelt es sich um eine Signatur, die alle Bytes des fast gesamten PDFs abdeckt.

b.) Object Digest Signatur:

Hiervon gibt es zwei Arten.

  • PDF 1.5: Ein “object digest” ist ein Hash-Algorithmus, der beim Durchlaufen eines Teilbaums der Objekte des PDFs ausgeführt wird.
  • PDF 1.6 und höher: Dafür wird die zweite Art empfohlen. Die Einträge wie in der ersten Art werden gesetzt, ohne jedoch einen Hash-Algrithmus zu durchlaufen.

Zum Verifizieren der Signatur muss die Anwendung das vorliegende Dokument mit dem signierten vergleichen und dabei prüfen, ob Änderungen an Objekten vorgenommen wurden, die durch die Signatur-Einträge nicht erlaubt sind.

Signieren:

Die CIB pdf toolbox unterstützt sowohl die “DocMDP” (= Modification Detection Prevention) object digest Signatur als auch die “Lock” object digest Signatur. Beide sind nur in einer Pdf Datei mit Pdf Version größer gleich 1.5 erlaubt. Zum Lesen der DocMDP-Signatur ist ein Adobe Reader der Version 7.0 oder höher erforderlich.

Verifizieren der Signatur:

Zurzeit wird von der CIB pdf toolbox nur geprüft, ob das PDF nach dem Signieren nochmal geändert wurde. Ist dies der Fall, ist das PDF ungültig.

Es wird noch nicht geprüft, welche Änderung durchgeführt wurde und ob diese vielleicht erlaubt ist. Eine diesbezügliche Erweiterung der CIB pdf toolbox ist vorgesehen.

Hinweis: UR3 Signaturen werden zwar geprüft und das Ergebnis in den Trace geschrieben, aber ansonsten wird das Ergebnis ignoriert.


Signieren/Verifizieren mit der CIB pdf toolbox

PDFs können sowohl mit dem CIB pdf toolbox Merge (-fm) als auch mit dem Join (-fj) signiert werden. Im Falle mehrerer Ausgabe-PDFs wird (von beiden Modulen) jedes PDF einzeln signiert.

Durch die Verarbeitung mit der CIB pdf toolbox werden eventuell in den Eingabe-PDFs vorhandene Signaturen ungültig und können daher nicht in das Ausgabe-PDF übernommen werden, da bei der Verarbeitung der interne Aufbau des PDFs verändert wird.

Beim Signieren des Ausgabe-PDFs werden alle alten Signaturen aus den Eingabe-PDFs entfernt. Wenn die Ausgabe nicht signiert wird, kann das Entfernen der alten Signaturen aus der Eingabe durch Setzen der Property RemovePdfSignatures=”1” erreicht werden.

Wenn durch die Module CIB pdf toolbox Merge oder Join die PDF Signaturen verfiziert werden soll, so muss dies explizit durch Setzen der Property „CheckPdfSignatures=1“ angestoßen werden. Dann werden alle Signaturen aller Eingabe-PDFs geprüft.


Signieren/Verfizieren im CIB pdf toolbox merge

Im CIB pdf toolbox merge (CIB runshell -fm) ist nur eine Eingabedatei möglich. Enthält diese Eingabedatei eine Signatur, so wird diese nur dann verifiziert, wenn CheckPdfSignatures=1 gesetzt ist.

Im CIB pdf toolbox merge sind eine oder mehrere Ausgabedateien möglich. Beim Signieren wird jede Ausgabedatei mit einer eigenen Signatur versehen.


Signieren/Verfizieren im CIB pdf toolbox join

Im CIB pdf toolbox join (CIB runshell -fj) sind eine oder mehrere Eingabedateien möglich. Enthalten eine oder mehrere dieser Eingabedateien eine Signatur, so werden diese nur dann verifiziert, wenn CheckPdfSignatures=1 gesetzt ist.

Im CIB pdf toolbox join sind auch eine oder mehrere (SplitPages=1) Ausgabedateien möglich. Beim Signieren wird dann jede Ausgabedatei mit einer eigenen Signatur versehen.