Zum Inhalt springen
getnextpdf.com

PAdES-Baseline-Profile

Spec: ETSI EN 319 142-1Spec: ISO 32000-2, §12.8Spec: RFC 3161

PAdES definiert vier Baseline-Stufen — B-B, B-T, B-LT, B-LTA —, die aufeinander aufbauen. Jede fügt eine bestimmte Art von Nachweis hinzu. Diese Seite erläutert die Stufenabfolge und hilft Ihnen, die niedrigste Stufe zu wählen, die die Verpflichtung noch erfüllt, statt der höchsten, die Sie zufällig dem Namen nach kennen.

Man greift zu „B-LTA“, weil es am gründlichsten klingt, oder zu „B-B“, weil es am wenigsten Arbeit macht. Beides sind Vermutungen. Über die benötigte Stufe entscheidet eine Frage, keine Vorliebe: Wie lange muss diese Signatur verifizierbar bleiben, und durch wen? Wählen Sie zu niedrig, wird eine Signatur, die am Tag der Signierung gültig war, unverifizierbar, sobald ein Zertifikat abläuft. Wählen Sie zu hoch, nehmen Sie eine Zeitstempelstelle und eine Infrastruktur für Validierungsmaterial in Kauf, die Sie nicht brauchen, dazu eine Archivierungsverpflichtung, die Sie fortlaufend bedienen müssen. Das Team, das die Stufe später nicht mehr ändern kann, zahlt den Preis für die falsche.

  • Die vier Stufen sind kumulativ. Jede ist die vorige plus eine Ergänzung.
  • B-B — die Signatur mit ihren verpflichtenden signierten Attributen. Beweist wer und was.
  • B-TB-B plus ein vertrauenswürdiger Zeitstempel auf der Signatur. Beweist wann, unabhängig von der Uhr des Unterzeichners.
  • B-LTB-T plus eingebettetes Validierungsmaterial (Zertifikate und Widerrufsdaten). Das Dokument trägt seinen eigenen Nachweis, dass das Zertifikat zum Signierzeitpunkt gültig war.
  • B-LTAB-LT plus ein Dokumentzeitstempel, im Lauf der Zeit wiederholt. Hält das Ganze über Jahrzehnte und Algorithmenwechsel hinweg verifizierbar.
  • Wählen Sie die Stufe nach der Lebensdauer der Verpflichtung, nicht danach, was am sichersten wirkt.

NextPDF modelliert die Stufe als explizite, geordnete Wahl und weigert sich, etwas vorzutäuschen. Sie fordern eine Stufe an. Die Engine erzeugt genau diese Stufe oder schlägt mit einem umsetzbaren Fehler fehl. Sie signiert nicht klammheimlich auf einer niedrigeren Stufe und lässt einen Compliance-Nachweis eine höhere behaupten. Dieses Design existiert genau dazu, ein stilles Herabstufen einer B-LTA-Anforderung auf B-T zu verhindern, wenn die Infrastruktur fehlt. Die Anforderungen jeder Stufe sind als Prädikate kodiert: ob ein Zeitstempel erforderlich ist, ob eingebettetes Validierungsmaterial erforderlich ist, ob ein Dokumentzeitstempel erforderlich ist. Die Engine durchläuft diese Prädikate und erfüllt sie entweder oder hält an.

Die Stufenabfolge unten ist dieselbe, die die Engine erzwingt und der Standard definiert.

StufeErgänzung gegenüber der vorigen StufeDie Frage, die sie beantwortetErfordernis aus Ihrem Deployment
B-BSignierte Attribute: content-type, message-digest, signing-time, signing-certificate-v2Wer hat signiert, und welche genauen Bytes?Ein Signierschlüssel und ein Zertifikat
B-TEin vertrauenswürdiger Zeitstempel über dem SignaturwertWann wurde nachweislich signiert?Eine Zeitstempelstelle (TSA)
B-LTEingebettete Zertifikate + Widerrufsdaten (ein DSS)War das Zertifikat beim Signieren gültig — später beweisbar?TSA + Zugriff auf Widerrufsdaten zum Signierzeitpunkt
B-LTAEin Dokumentzeitstempel, im Lauf der Zeit erneuerbarWird das in Jahrzehnten noch verifizierbar sein?TSA + ein Archivierungsprozess, der neu zeitstempelt

Der wichtigste Sprung ist der von B-T zu B-LT. B-T beweist das Wann. B-LT macht das Dokument in Bezug auf Vertrauen eigenständig: Es hängt nicht länger davon ab, dass eine Zertifizierungsstelle noch erreichbar ist und Jahre später noch Auskünfte gibt.

Die Stufen werden auch geprüft, nicht nur erzeugt. Auf der Verifikationsseite wird der B-T-Zeitstempel streng gebunden: NextPDF verlangt, dass der Message Imprint des Tokens dem Hash des Signaturwerts des Unterzeichners entspricht, und schlägt kontrolliert fehl, wenn das nicht der Fall ist. So kann ein Zeitstempel eine Signatur nur dann auf B-T heben, wenn er nachweislich diese Signatur abdeckt und nicht andere Bytes.

  1. Step 1 of 4: ISO 32000-2 §12.8 — signatures, LTV, document timestamp
  2. Step 2 of 4: ETSI EN 319 142-1 PAdES baseline levels B-B…B-LTA
  3. Step 3 of 4: RFC 3161 Timestamp token (introduced at B-T)
  4. Step 4 of 4: RFC 6960 OCSP revocation evidence (embedded at B-LT)
Die Standards hinter der PAdES-Stufenabfolge: ISO 32000-2 definiert, wie Signaturen und Validierungsmaterial im PDF liegen; ETSI EN 319 142-1 definiert die Baseline-Stufen; RFC 3161 definiert den Zeitstempel, den B-T einführt; RFC 6960 definiert die Widerrufsbelege, die B-LT einbettet.

Die API spiegelt die Stufenabfolge wider: Sie benennen die Stufe, und die Engine behandelt sie als Vertrag.

<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// The level is an explicit, ordered choice — not a flag you hope is honoured.
$level = SignatureLevel::PAdES_B_T;
// The level itself tells you what it requires, before you sign:
$level->requiresTimestamp(); // B-T and above → true
$level->requiresDss(); // B-LT and above → true
$level->requiresDocumentTimestamp(); // B-LTA only → true
// Ask for B-LTA only if the deployment can actually fulfil it.
// The engine produces exactly the requested level or fails with an
// actionable error — it never silently signs lower and reports higher.

Wenn Sie B-LTA anfordern und das Deployment nicht bereitstellen kann, was B-LTA benötigt, besteht das Standardverhalten darin, fehlzuschlagen und Ihnen die höchste Stufe zu nennen, die es hätte erreichen können — und nicht darin, klammheimlich eine B-T-Datei zurückzugeben, die als B-LTA ausgewiesen ist.

Die Falle lautet: „B-LTA ist einfach die beste, wählen Sie immer sie.“ B-LTA ist im Abstrakten nicht besser; sie ist mehr, und mehr bringt Verpflichtungen mit sich. Sie erfordert eine Zeitstempelstelle, Widerrufsmaterial, das zum Signierzeitpunkt eingeholt wird, und einen fortlaufenden Archivierungsprozess, der das Dokument neu zeitstempelt, bevor seine schützenden Algorithmen oder Zeitstempelzertifikate schwächer werden. Eine B-LTA-Datei, die niemand neu zeitstempelt, ist nicht zukunftssicher — sie ist eine B-LT-Datei mit zusätzlicher Zeremonie. Umgekehrt ist B-B für einen Vertrag, der ein Jahrzehnt überdauern muss, nicht „leichtgewichtig“; es ist eine Signatur, die an dem Tag, an dem das Zertifikat abläuft, die Validierung nicht besteht. Die richtige Stufe ist die, die die Verpflichtung verlangt, nicht höher und nicht niedriger.

NextPDF erzeugt die angeforderte PAdES-Stufe; es liefert nicht die Parteien, von denen diese Stufe abhängt. Eine Zeitstempelstelle, die Zertifikatskette, die Vertrauensanker und die Konnektivität, um Widerrufsdaten zum Signierzeitpunkt abzurufen, sind Aufgaben des Deployments. Die Engine implementiert die Struktur und erzwingt den Stufenvertrag; sie kann weder eine TSA vertrauenswürdig noch ein Zertifikat gültig machen. Die erzeugte Struktur trägt die Elemente, die diese Stufe verlangt, verifiziert anhand der eigenen Tests der Engine und der zitierten Klauseln. Sie ist keine Konformitätszertifizierung durch Dritte, und diese Seite behauptet keine eIDAS-Rechtswirkung, die vom Zertifikat, vom Unterzeichner und von der Rechtsordnung abhängt. Ob die Signaturzeit unabhängig vertrauenswürdig ist, wird in Zeitstempel und vertrauenswürdige Zeit behandelt; wie die Langzeitbelege eine Signatur am Leben halten, wird in Langzeitvalidierung behandelt.

Ein paar Abgrenzungen, um die Erwartungen genau zu setzen:

  • B-LT und B-LTA geben die Struktur der Langzeitvalidierung aus, kein Konformitätsurteil. Was die Engine schreibt, ist ein Document-Security-Store-Dictionary plus eine Dokumentzeitstempel-Revision — ein Signatur-Dictionary mit Type = DocTimeStamp gemäß Spec: ISO 32000-2, §12.8. Diese Struktur wird hier nicht als auf Profilkonformität geprüft ausgewiesen; die ETSI EN 319 142-1-Profilprüfungen unterliegen auf der CI-Spur von Pro und Enterprise einem Release-Gate, daher beansprucht diese Seite keine ETSI EN 319 142-1-Konformität für die erzeugte Datei.
  • Verschlüsselte Dokumente schlagen bei B-LT und B-LTA kontrolliert fehl. Eine Anforderung einer Langzeitstufe für ein verschlüsseltes Dokument stoppt mit einem umsetzbaren Fehler, anstatt eine partielle Langzeit-Revision zu schreiben.

Verfügbarkeit jeder Stufe nach Edition — alle vier erreichbar über dieselbe High-Level-Nahtstelle, setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

PAdES-Baseline-Stufe — edition availability
EditionAvailability
Core

PAdES B-B und B-T — die Baseline mit signierten Attributen, dazu ein vertrauenswürdiger Zeitstempel auf dem Signaturwert, bezogen über einen TsaClient. Beide Stufen sind in der Core-Nahtstelle enthalten.

Pro

Ergänzt die Core-Baseline um Signatur-Workflows — Remote-, Cloud-KMS- und sequenzielles Signieren — keine neue Stufe.

Enterprise

Ergänzt PAdES B-LT und B-LTA — eingebettetes Validierungsmaterial (DSS) und die erneuerbare Archivierungsschleife des Dokumentzeitstempels. Diese laufen über dieselbe High-Level-Nahtstelle, aber nur, wenn beide Pakete, Pro und Enterprise, installiert sind; fehlt eines von beiden, schlägt der Aufruf kontrolliert fehl, anstatt eine partielle Langzeit-Revision zu schreiben.

  • PAdES — PDF Advanced Electronic Signatures; die Normenreihe ETSI EN 319 142, die CMS-Signaturen für PDF profiliert.
  • Baseline-Stufe — eine von B-B, B-T, B-LT, B-LTA; ein definierter, kumulativer Satz erforderlicher Signaturelemente.
  • B-B — die Baseline-Signatur mit ihren verpflichtenden signierten Attributen.
  • B-TB-B plus ein vertrauenswürdiger Zeitstempel auf dem Signaturwert.
  • B-LTB-T plus eingebettetes Langzeitvalidierungsmaterial (ein DSS).
  • B-LTAB-LT plus ein erneuerbarer Dokumentzeitstempel für archivarische Gültigkeit.
  • DSS — Document Security Store; die PDF-Struktur, die eingebettete Zertifikate und Widerrufsdaten enthält.
  • TSA — Time-Stamp Authority; ein vertrauenswürdiger Dienst, der RFC 3161 Zeitstempel-Tokens ausstellt.