Diese Seite kann automatisch übersetzten Text enthalten.
Informationen zur Long-Term-Validierung (PAdES-LTV) zu PDF-Signaturen in C# und VB.NET hinzufügen
Die Long-Term-Validation-(LTV)-Informationen für PDF-Signaturen helfen dabei, digitale Signaturen noch lange nach ihrer Erstellung zu überprüfen. Ohne LTV wird eine digitale Signatur unverifizierbar, sobald das Zertifikat des Unterzeichners abläuft oder Widerrufsdaten nicht mehr verfügbar sind. Das ist für rechtliche und finanzielle PDF-Dokumente, die über Jahre vertrauenswürdig bleiben müssen, oft nicht akzeptabel.

Dieser Artikel besteht aus zwei Teilen: einem theoretischen und einem praktischen. Zuerst lernen Sie grundlegende Informationen zu PAdES-LTV-Signaturen. Danach erfahren Sie, wie Sie mit der Docotic.Pdf-Bibliothek LTV-Informationen zu PDF-Signaturen in C# hinzufügen. Die Bibliothek und einen kostenlosen zeitlich begrenzten Lizenzschlüssel können Sie auf der Seite C# .NET-PDF-Bibliothek herunterladen erhalten.
PAdES - Fortgeschrittene elektronische PDF-Signaturen
Das European Telecommunications Standards Institute (ETSI) hat mehrere Standards für elektronische Signaturen veröffentlicht. Insbesondere definiert das Institut den Standard PDF Advanced Electronic Signature (PAdES) in der Spezifikation ETSI EN 319 142. PAdES beschreibt, wie PDF-Signaturen eIDAS-konform gemacht werden.
Das Kernkonzept von LTV-Signaturen besteht darin, validierungsbezogene Informationen (VRI) in ein PDF einzubetten. Diese Informationen ermöglichen die Validierung von PDF-Signaturen auch nach langer Zeit, selbst wenn die Signaturumgebung nicht mehr verfügbar ist.
Die Spezifikation ETSI EN 319 142-1 definiert vier Ebenen von PAdES-Baseline-Signaturen: B-B, B-T, B-LT und B-LTA. In diesem Artikel konzentriere ich mich auf die Ebenen B-LT und B-LTA, da sie sich auf LTV-fähige Signaturen in PDF beziehen.
PAdES-B-B
Kurzfristige digitale PDF-Signaturen im Format ETSI.CAdES.detached entsprechen dieser Ebene. Der Artikel PDF-Dokumente in C# und VB.NET signieren erklärt, wie solche Signaturen erstellt werden.
PAdES-B-T
B-T-Signaturen müssen die Anforderungen der B-B-Ebene erfüllen und außerdem einen Zeitstempel enthalten.
PAdES-B-LT
B-LT-Signaturen müssen der B-T-Ebene entsprechen. Zusätzlich muss eine PDF-Datei das Dictionary Document Security Store (DSS) mit den folgenden Daten enthalten:
- Alle Zertifikate in der Vertrauenskette
- Antworten des Online Certificate Status Protocol (OCSP)
- Certificate Revocation Lists (CRLs)
Fortgeschrittene elektronische Signaturen entsprechen dieser Ebene.
PAdES-B-LTA
B-LTA-Signaturen müssen der B-LT-Ebene entsprechen. Zusätzlich muss eine PDF-Datei eine Dokumentzeitstempel-Signatur und VRI für das Zertifikat des Dokumentzeitstempels enthalten.
Qualifizierte elektronische Signaturen entsprechen dieser Ebene.
PAdES-Validierung
Eine Möglichkeit ist die Verwendung von Adobe Acrobat Pro oder Adobe Reader. Öffnen Sie das Signaturfenster und erweitern Sie eine digitale Signatur, um ihren Status zu prüfen. Wenn die Signatur gültig ist, sehen Sie entweder „Signatur ist LTV-fähig“ oder „Signatur ist nicht LTV-fähig und läuft ab nach“.

Eine weitere Möglichkeit ist die Verwendung des PAdES-Validators der Europäischen Kommission. Diese Methode eignet sich am besten für die Validierung von EU-(eIDAS-)konformen Dokumenten.
Es gibt auch den Signatures Conformance Checker von ETSI. Dieser Dienst ist in erster Linie für Entwickler gedacht, die an Signatur- oder Validierungstools arbeiten.
Beachten Sie, dass diese Validatoren für dasselbe PDF-Dokument unterschiedliche Ergebnisse liefern können.

LTV-fähige PDF-Signaturen in C# und VB.NET erstellen
Jetzt ist es Zeit, etwas Code zu schreiben! Docotic.Pdf stellt die PdfDocument.AddLtvInfo-Methoden bereit, um LTV-Informationen zu PDF-Signaturen hinzuzufügen. Um B-LTA-Signaturen zu erzeugen, benötigen Sie außerdem die PdfDocument.TimestampAndSave-Methoden, um PDFs mit Dokumentzeitstempel-Signaturen zu speichern.
So erstellen Sie PAdES-B-LT-Signaturen in C#
Der Prozess zum Erstellen von B-LT-Signaturen besteht aus drei Schritten:
- Erstellen Sie eine B-T-Signatur und speichern Sie das Dokument.
- Öffnen Sie das signierte Dokument und fügen Sie LTV-Informationen hinzu.
- Speichern Sie das endgültige Dokument inkrementell.
Hier ist der C#-Code zum Erstellen von B-LT-Signaturen. Sie können das vollständige LTV-fähige PDF-Signatur erstellen-Beispielprojekt auch von GitHub herunterladen:
// 1. Erstellen Sie eine PAdES-B-T-Signatur
using var step1 = new MemoryStream();
using (var pdf = new PdfDocument())
{
var options = new PdfSigningOptions(..)
{
DigestAlgorithm = PdfDigestAlgorithm.Sha256,
Format = PdfSignatureFormat.CadesDetached,
};
options.Timestamp.AuthorityUrl = new Uri("http://timestamp.digicert.com");
pdf.SignAndSave(options, step1);
}
// 2. Öffnen Sie das signierte Dokument und fügen Sie LTV-Informationen hinzu
using (var pdf = new PdfDocument(step1))
{
pdf.AddLtvInfo();
// 3. Speichern Sie das endgültige Dokument inkrementell
var incrementalOptions = new PdfSaveOptions()
{
WriteIncrementally = true,
};
pdf.Save("b-lt.pdf", incrementalOptions);
}
Es gibt einige wichtige Punkte zu beachten. Zunächst können Sie PdfSigningOptions mit einem PKCS#12-Zertifikat (.pfx- oder .p12-Datei) oder einem externen Signierer erstellen. Unabhängig von der Methode muss für die PAdES-Konformität die Option Format auf PdfSignatureFormat.CadesDetached gesetzt werden.
Dieses Codefragment verwendet http://timestamp.digicert.com, Sie können jedoch jede andere Zeitstempelstelle (TSA) verwenden. Hier sind einige gängige Alternativen:
http://timestamp.comodoca.com/rfc3161
http://timestamp.sectigo.com
http://timestamp.entrust.net/TSS/RFC3161sha2TS
http://rfc3161timestamp.globalsign.com/advanced
Um den ETSI-Spezifikationen zu entsprechen, sollten Sie eine von eIDAS zugelassene TSA verwenden. Eine solche können Sie mit dem EU/EEA Trusted List Browser auswählen.
Das Speichern des Zwischen-Dokuments nach dem ersten Schritt ist obligatorisch. Sie müssen das Dokument signieren und speichern, bevor Sie LTV-Informationen anhängen. Es gibt jedoch eine Ausnahme von dieser Regel, die ich weiter unten im Abschnitt PDF mit LTV zertifizieren erläutere.
Die Zeile WriteIncrementally = true in Schritt drei aktiviert das inkrementelle Speichern. Inkrementelle Aktualisierungen machen digitale Signaturen nicht ungültig. Sie sollten PDF-Dateien beim Hinzufügen von LTV-Informationen immer inkrementell speichern.
So erstellen Sie PAdES-B-LTA-Signaturen in C#
Das Erzeugen von B-LTA-Signaturen ist ähnlich, außer bei Schritt drei. Sie sollten:
- Erstellen Sie eine B-T-Signatur und speichern Sie das Dokument.
- Öffnen Sie das signierte Dokument und fügen Sie LTV-Informationen hinzu.
- Speichern Sie das endgültige Dokument inkrementell mit einer Dokumentzeitstempel-Signatur.
Dieses Codebeispiel zeigt, wie Sie B-LTA-Signaturen in C# erstellen:
var timestampAuthorityUrl = new Uri("http://timestamp.digicert.com");
// 1. Erstellen Sie eine PAdES-B-T-Signatur
using var step1 = new MemoryStream();
using (var pdf = new PdfDocument())
{
var options = new PdfSigningOptions(..)
{
DigestAlgorithm = PdfDigestAlgorithm.Sha256,
Format = PdfSignatureFormat.CadesDetached,
};
options.Timestamp.AuthorityUrl = timestampAuthorityUrl;
pdf.SignAndSave(options, step1);
}
// 2. Öffnen Sie das signierte Dokument und fügen Sie LTV-Informationen hinzu
using (var pdf = new PdfDocument(step1))
{
pdf.AddLtvInfo();
// 3. Speichern Sie das endgültige Dokument inkrementell mit einer Dokumentzeitstempel-Signatur
var timestampOptions = new PdfSignatureTimestampOptions
{
AuthorityUrl = timestampAuthorityUrl,
};
var incrementalOptions = new PdfSaveOptions()
{
WriteIncrementally = true,
};
pdf.TimestampAndSave(timestampOptions, "b-lta.pdf", incrementalOptions);
}
Das endgültige Dokument b-lta.pdf enthält zwei Signaturen: die Hauptsignatur aus Schritt eins und die Dokumentzeitstempel-Signatur aus Schritt drei. Vielleicht fällt Ihnen auf, dass Adobe Acrobat für beide Signaturen die Meldung „Signatur ist LTV-fähig“ anzeigt. Wie kann die Dokumentzeitstempel-Signatur LTV-fähig sein, obwohl sie nach dem Aufruf von AddLtvInfo erstellt wurde?
Der Schlüssel besteht darin, für den Signaturzeitstempel und den Dokumentzeitstempel dieselbe
TSA
zu verwenden. Die Methode AddLtvInfo fügt
VRI
für das Zeitstempelzertifikat hinzu. Der Dokumentzeitstempel verwendet dann dasselbe Zertifikat und die zugehörigen Daten erneut.
Kann nicht dieselbe TSA für den Dokumentzeitstempel verwendet werden? Ich gehe diesen Fall im Abschnitt Konvertierung von PAdES-B-T nach B-LTA durch.
LTV-Informationen zu vorhandenen PDF-Signaturen in C# und VB.NET hinzufügen
Bisher habe ich LTV-fähige Signaturen von Grund auf neu erstellt. Häufig ist es jedoch erforderlich, vorhandene PAdES-B-T-Signaturen zu ändern. Zum Beispiel, um sie in B-LT oder B-LTA zu konvertieren oder um LTV-Informationen zu aktualisieren.
Wie in den vorherigen Beispielen müssen Sie:
- Öffnen Sie das signierte Dokument und fügen Sie LTV-Informationen hinzu.
- Speichern Sie das endgültige Dokument inkrementell, mit oder ohne Dokumentzeitstempel-Signatur.
Hier sind die entsprechenden Codeausschnitte.
So konvertieren Sie PAdES-B-T-Signaturen in B-LT in C#
using var pdf = new PdfDocument("b-t.pdf");
pdf.AddLtvInfo();
var incrementalOptions = new PdfSaveOptions()
{
WriteIncrementally = true,
};
pdf.Save("b-lt.pdf", incrementalOptions);
So konvertieren Sie PAdES-B-T-Signaturen in B-LTA in C#
using var pdf = new PdfDocument("b-t.pdf");
pdf.AddLtvInfo();
var timestampOptions = new PdfSignatureTimestampOptions
{
AuthorityUrl = new Uri("http://timestamp.digicert.com"),
};
var incrementalOptions = new PdfSaveOptions()
{
WriteIncrementally = true,
};
pdf.TimestampAndSave(timestampOptions, "b-lta.pdf", incrementalOptions);
Laden Sie das vollständige LTV-Informationen zu vorhandenen Signaturen hinzufügen.-Beispielprojekt auf GitHub herunter.
LTV-Informationen zu einer Dokumentzeitstempel-Signatur hinzufügen
Vorhandene B-T-Signaturen können eine beliebige TSA verwenden, die sich von der in diesem Beispiel verwendeten unterscheidet. In solchen Fällen zeigt Adobe Acrobat für die Dokumentzeitstempel-Signatur die Meldung „Signatur ist nicht LTV-fähig“ an.
Wie können Sie sie LTV-fähig machen? Sie müssen LTV-Informationen zur Dokumentzeitstempel-Signatur hinzufügen:
var timestampOptions = new PdfSignatureTimestampOptions
{
AuthorityUrl = new Uri("http://timestamp.digicert.com"),
};
var incrementalOptions = new PdfSaveOptions()
{
WriteIncrementally = true,
};
using var intermediate = new MemoryStream();
using (var pdf = new PdfDocument("b-t.pdf"))
{
pdf.AddLtvInfo();
pdf.TimestampAndSave(timestampOptions, intermediate, incrementalOptions);
}
// LTV-Informationen zur Dokumentzeitstempel-Signatur hinzufügen
using (var pdf = new PdfDocument(intermediate))
{
pdf.AddLtvInfo();
pdf.TimestampAndSave(timestampOptions, "b-lta.pdf", incrementalOptions);
}
PDF mit LTV in C# und VB.NET zertifizieren
Digitale Signaturen in zertifizierten PDF-Dokumenten erlauben keine Änderungen. PDF-Reader-Anwendungen zeigen solche Signaturen mit einem speziellen Symbol und einer Beschriftung an, die mit „Zertifiziert von“ beginnt.

Jede Änderung an einem zertifizierten PDF macht die Signatur ungültig. Das bedeutet, dass Sie keine LTV-Informationen hinzufügen können, ohne die Zertifizierung zu brechen.
Docotic.Pdf bietet die Möglichkeit, zertifizierte PDF-Dokumente mit LTV-Informationen zu erzeugen. Verwenden Sie die Überladung AddLtvInfo(PdfSigningOptions), um LTV-Informationen während des Signierens hinzuzufügen. Dieses Codebeispiel zeigt, wie man ein PDF in C# mit einer B-LT-Signatur zertifiziert:
using var pdf = new PdfDocument();
var options = new PdfSigningOptions(..)
{
DigestAlgorithm = PdfDigestAlgorithm.Sha256,
Format = PdfSignatureFormat.CadesDetached,
Type = PdfSignatureType.AuthorNoChanges,
};
options.Timestamp.AuthorityUrl = new Uri("http://timestamp.digicert.com");
pdf.AddLtvInfo(options);
pdf.SignAndSave(options, "certified-b-lt.pdf");
Sehen Sie sich das Codebeispiel PDF mit LTV-Signaturen zertifizieren auf GitHub an.
Stand: Juni 2025 unterstützt Adobe Acrobat zertifizierte PDF-Dokumente mit B-LT-Signaturen, betrachtet jedoch B-LTA-Signaturen in zertifizierten Dokumenten als ungültig.
Abschluss
Sie können Long-Term-Validation-(LTV)-Informationen zu PDF-Signaturen hinzufügen, um rechtliche Konformität und langfristiges Vertrauen sicherzustellen. Der PAdES-Standard definiert Regeln und Konformitätsstufen für PDF-Signaturen.
Es wird empfohlen, mindestens mit PAdES-B-T-Signaturen zu signieren. B-T-Signaturen können in Fortgeschrittene elektronische Signaturen (B-LT) oder Qualifizierte elektronische Signaturen (B-LTA) konvertiert werden, ohne vorhandene Validierungen zu beeinträchtigen.
Verwenden Sie die Docotic.Pdf-Bibliothek, um LTV-Informationen zu PDF-Signaturen in .NET-Anwendungen hinzuzufügen. Sie können sogar PDF-Dokumente mit LTV zertifizieren.
Sehen Sie sich die Codebeispiele für digitale Signaturen in PDF auf GitHub an. Weitere Informationen finden Sie in den folgenden verwandten Artikeln:
- PDF-Dokumente in C# und VB.NET signieren
- PDF-Signatur in C# und VB.NET überprüfen
- Wie man PDFs mit USB-Tokens und HSM-Geräten in C# und VB.NET signiert
Häufig gestellte Fragen
Wie vermeide ich die Meldung „Die Signaturgültigkeit ist unbekannt“ in Adobe Acrobat?
Adobe Acrobat zeigt die Warnung „Die Signaturgültigkeit ist unbekannt“ an, wenn das Zertifikat des Unterzeichners nicht überprüft werden kann. Das geschieht normalerweise, wenn das Zertifikat fehlt, nicht vertrauenswürdig ist, selbstsigniert, widerrufen, abgelaufen oder noch nicht aktiv ist.
Beschaffen Sie das richtige Zertifikat, um die Warnung zu vermeiden, oder erstellen Sie EU-(eIDAS-)konforme Dokumente.
Alternativ können Sie Zertifikate in Adobe Acrobat manuell zu „Vertrauenswürdige Zertifikate“ hinzufügen. Diese Option befindet sich unter: Menu > Preferences > Signatures > Identities & Trusted Certificates.
Wenn Sie einem Zertifikat für zertifizierte Dokumente vertrauen müssen, stellen Sie sicher, dass Sie die entsprechende Berechtigung gewähren:

Wie prüfe ich, ob eine PDF-Signatur LTV-fähig ist?
Sie können Adobe Reader oder den PAdES-Validator der Europäischen Kommission verwenden. Weitere Details finden Sie im Abschnitt PAdES-Validierung.
Warum zeigt Adobe Acrobat „Die Signatur ist nicht LTV-fähig“ an?
Adobe Acrobat prüft Widerrufsinformationen im Rahmen des Signaturvalidierungsprozesses. Wenn dafür Daten heruntergeladen werden müssen, ist die betreffende Signatur nicht LTV-fähig.
Wie mache ich eine PDF-Signatur ETSI-konform?
Befolgen Sie die Anforderungen für Fortgeschrittene elektronische PDF-Signaturen. Sie müssen Zertifikate verwenden, die von Anbietern aus den European Union Trusted Lists (EUTL) ausgestellt wurden.
Wie erhalte ich in Adobe Reader die Anzeige „Signatur ist LTV-fähig“?
Zuerst muss die Signatur mindestens der PAdES-B-T-Ebene entsprechen. Danach müssen Sie LTV-Informationen hinzufügen, einschließlich aller Zertifikate in der Vertrauenskette, OCSP -Antworten und CRLs .
Die Abschnitte LTV-fähige PDF-Signatur erstellen und LTV-Informationen zu vorhandenen PDF-Signaturen hinzufügen erläutern, wie LTV-Informationen in C# und VB.NET hinzugefügt werden.
Wie aktiviere ich LTV für eine Dokumentzeitstempel-Signatur?
Der Prozess ist ähnlich wie bei regulären PDF-Signaturen. Sie müssen LTV-Informationen für die Dokumentzeitstempel-Signatur zum DSS -Dictionary hinzufügen.
Beziehen Sie sich auf das Codebeispiel im Abschnitt LTV-Informationen zu einer Dokumentzeitstempel-Signatur hinzufügen.
Ist es möglich, LTV und Zeitstempelung in derselben Operation durchzuführen?
Ja! Sehen Sie sich das Codebeispiel im Abschnitt So konvertieren Sie PAdES-B-T-Signaturen in B-LTA an.
Wie erstelle ich eine digitale Signatur mit LTV in C#?
Verwenden Sie die Docotic.Pdf-Bibliothek. Um Fortgeschrittene elektronische Signaturen zu erzeugen, sehen Sie sich die Codebeispiele im Abschnitt So erstellen Sie PAdES-B-LT-Signaturen an. Um Qualifizierte elektronische Signaturen zu erstellen, lesen Sie den Abschnitt So erstellen Sie PAdES-B-LTA-Signaturen.
Wie aktiviere ich LTV für eine Signatur, wenn „keine Änderungen erlaubt“ sind?
Bei zertifizierten Dokumenten verlangt Adobe Acrobat, dass alle LTV-Daten im ursprünglich signierten Dokument enthalten sind. Weitere Details finden Sie im Abschnitt PDF mit LTV zertifizieren.
Wie aktiviere ich Long-Term Validation (LTV) beim externen Signieren von PDF-Dokumenten?
Verwenden Sie die Docotic.Pdf-Bibliothek, um PDF-Dokumente mit LTV über USB-Token, Smartcards oder cloudbasierte HSMs zu signieren. Lesen Sie den Artikel Wie man PDFs mit USB-Tokens und HSM-Geräten in C# und VB.NET signiert und den Abschnitt So erstellen Sie PAdES-B-LT-Signaturen.
Wie signiere ich ein PDF mit mehreren Signaturen und aktiviere LTV?
Kombinieren Sie die Codebeispiele Unterschreiben Sie ein PDF-Formular durch mehrere Personen und LTV-Informationen zu vorhandenen Signaturen hinzufügen..