GMP-Dokumentation wird über Jahre, oft über Jahrzehnte aufbewahrt. Ein PDF, das heute korrekt dargestellt wird, muss auch dann noch identisch aussehen, wenn die verwendete Schriftart nicht mehr installiert, das Farbprofil des damaligen Bildschirms nicht mehr verfügbar und der seinerzeit eingesetzte Reader längst abgelöst ist. Genau dafür gibt es PDF/A – ein Format, das keine Annahmen über seine Umgebung trifft.
PDF/A ist in der Normenreihe ISO 19005 festgelegt; Teil 3 – ISO 19005-3 – beschreibt PDF/A-3. Innerhalb jedes Teils gibt es Konformitätsstufen: Stufe „b" (basic) garantiert die originalgetreue visuelle Wiedergabe, Stufe „a" (accessible) verlangt zusätzlich eine vollständige logische Strukturierung des Dokuments für die Barrierefreiheit. Für einen Messreport, dessen Zweck die unveränderte Wiedergabe des Nachweises ist, ist die Stufe „b" der etablierte Weg – und genau die erzeugt Moqlero: PDF/A-3b.
Archivfähigkeit entsteht nicht durch ein Etikett, sondern durch konkrete Eigenschaften des Dokuments. Beim Erzeugen eines Reports werden dafür fünf Dinge sichergestellt:
Bisher wurde jeder Report zwar kryptografisch signiert, das Signaturfeld selbst blieb im Dokument aber unsichtbar – ohne Position und ohne Erscheinungsbild. Jetzt entsteht ein sichtbares Signaturfeld an definierter Position, mit eigenem Erscheinungsbild und dem Moqlero-Logo. Es ist im Reader anklickbar und öffnet direkt den Prüfdialog zur Signatur. Das ist nicht nur bequemer, sondern auch normativ notwendig: Ein Formularfeld ohne Erscheinungsbild ist in PDF/A unzulässig.
Die PDF/A-Aufbereitung ist der letzte vollständige Schreibvorgang vor dem Signieren. Das ist kein Detail, sondern zwingend: Beim Zusammenführen mehrerer Teildokumente und beim Setzen der Seitenzahlen entsteht jeweils ein neuer Dokumentkatalog, an dem Metadaten und Output Intent hängen – zu früh gesetzt, gingen sie dabei verloren. Signiert wird anschließend inkrementell, sodass der bereits archivfähige Inhalt unverändert bleibt und die Signatur genau diesen Stand absichert. Zertifikat und privater Schlüssel des Report Servers kommen aus der Datenbank, die Prüfung erfolgt gegen das hinterlegte Wurzelzertifikat.
Die zweite Änderung ist eine Umstellung der Voreinstellung: PDF/A-3b ist jetzt der Regelfall der Reportgenerierung. Bisher entstand ohne ausdrückliche Konfiguration ein gewöhnliches PDF; archivfähig wurde ein Report nur, wenn jemand daran gedacht hatte. Diese Reihenfolge ist umgedreht – ein Report ohne PDF/A ist nur noch über einen ausdrücklichen Eintrag in der Konfiguration erreichbar. Umgesetzt ist die Aufbereitung inzwischen vollständig innerhalb der Reportgenerierung und damit ohne zusätzliches externes Werkzeug auf dem Server, was den Weg plattformunabhängig und den Betrieb einfacher macht.
PDF/A sichert, dass ein Dokument in zehn Jahren noch genauso dargestellt wird. Es sagt nichts darüber, ob sich die Signatur dann noch automatisch als gültig nachweisen lässt. Dafür gibt es einen eigenen Begriff: LTV – Long Term Validation. Gemeint ist, dass alle zur Prüfung einer Signatur nötigen Informationen im Dokument selbst mitgeführt werden: die vollständige Zertifikatskette, der Sperrstatus der beteiligten Zertifikate aus OCSP-Antwort oder Sperrliste sowie ein Zeitstempel aus einer unabhängigen Zeitquelle. Im PDF liegen diese Angaben in einem eigenen Bereich des Dokuments, dem Document Security Store; die zugehörigen Signaturprofile beschreibt die PAdES-Normenreihe der ETSI mit den Stufen B-LT und B-LTA.
Der Grund ist banal und trotzdem folgenreich: Aufbewahrungsfristen sind länger als Zertifikatslaufzeiten. Ein Signaturzertifikat gilt typischerweise ein bis drei Jahre, GMP-Dokumentation wird über ein Jahrzehnt und länger aufbewahrt. Ohne mitgeführte Prüfinformationen kann ein Betrachter später nur noch feststellen, dass das Dokument seit der Signatur unverändert ist – nicht aber, dass das verwendete Zertifikat zum Zeitpunkt der Signatur gültig und nicht gesperrt war. Genau diese zweite Aussage macht eine Signatur beweiskräftig. Hinzu kommt der Zeitstempel: Ohne ihn beruht der ausgewiesene Signaturzeitpunkt auf der Uhr des signierenden Systems, mit ihm auf einer unabhängigen Quelle.
Die Bausteine sind vorhanden und im Einsatz: Jeder Report wird mit dem Zertifikat des Report Servers signiert, die Prüfung erfolgt gegen das hinterlegte Wurzelzertifikat, und für die Feststellung des Sperrstatus von Zertifikaten wird in der Moqlero-Umgebung ein eigener OCSP-Responder betrieben. Nicht eingebettet werden diese Prüfinformationen und ein Zeitstempel bisher in den Report selbst. Die Signatur ist damit prüfbar, solange die Zertifikatsinfrastruktur erreichbar ist; die Einbettung nach PAdES-LTV ist der nächste Ausbauschritt und heute noch keine ausgelieferte Funktion. Wir benennen das ausdrücklich, weil „signiert" und „dauerhaft prüfbar" in Spezifikationen gern gleichgesetzt werden – und der Unterschied genau dann auffällt, wenn er sich nicht mehr beheben lässt.
PDF/A sichert die Darstellbarkeit des Dokuments – nicht mehr und nicht weniger. Es ersetzt weder die Signaturstrategie, wie der vorige Abschnitt zeigt, noch den Audit Trail: Wer den Report erzeugt, freigegeben oder erneut generiert hat, steht weiterhin dort und nicht im Dokument. Was PDF/A garantiert, ist die Grundlage für alles Weitere – dass das, was signiert wurde, auch später noch genau so gelesen werden kann.
Datenintegrität endet nicht bei der Erstellung – sie muss die Aufbewahrungsfrist überdauern!