ApplyPAdESLongTermValidation
Digitale Signaturen
Beschreibung
Stuft eine bereits signierte PDF-Datei in einem Aufruf auf PAdES-B-LT hoch und schreibt das Ergebnis in eine Datei
Syntax
Delphi
Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;Parameter
| InputFile | Die signierte PDF-Datei. |
|---|---|
| Password | Das Kennwort zum Öffnen oder eine leere Zeichenfolge. |
| OutputFile | Die zu schreibende erweiterte PDF-Datei |
| FieldName | Ein zu verarbeitendes Signaturfeld oder eine leere Zeichenfolge, um jede Signatur in einer Revision zu verarbeiten |
| Options | Eine PADES_LTV_*-Bitmaske; 0 wählt PADES_LTV_DEFAULT. |
Optionen
PADES_LTV_WRITE_VRI (1) | Schreibt für jede Signatur einen VRI-Eintrag |
|---|---|
PADES_LTV_FETCH_OCSP (2) | Fragt den OCSP-Responder jedes Links ab. |
PADES_LTV_FETCH_CRL (4) | Greift auf die CRL zurück, wenn OCSP nichts zurückgegeben hat. |
PADES_LTV_FOLLOW_AIA (8) | Folgt den Adressen der Aussteller, um den Pfad zu vervollständigen |
PADES_LTV_SKIP_EXISTING (16) | Material, dessen Bytes bereits vorgemerkt sind, nicht erneut hinzufügen |
PADES_LTV_SKIP_ROOT_REVOCATION (32) | Fragen Sie den Status einer selbst ausgestellten Stammzertifizierungsstelle nicht ab |
PADES_LTV_DEFAULT (63) | Alle oben genannten Optionen; wird ausgewählt, wenn Options 0 ist |
Rückgabewerte
| 1 | Die Hochstufung war erfolgreich |
|---|---|
| 2 | Die Eingabedatei konnte nicht gelesen werden |
| 3 | Das Eingabe-PDF konnte nicht analysiert werden |
| 10 | Die Ausgabe konnte nicht geschrieben werden |
| 11 | Der Dokument-Sicherheitsspeicher konnte nicht hinzugefügt werden |
| 20 | Ein solches Signaturfeld ist nicht vorhanden |
| 21 | Keine verarbeitete Signatur enthielt ein lesbares Zertifikat |
GetPAdESLTVError enthält den Grund für jeden anderen Wert als 1
Anmerkungen
Der Zertifikatspfad des Signierenden wird aus dem eigenen CMS der Signatur aufgebaut; wenn PADES_LTV_FOLLOW_AIA gesetzt ist, werden die übrigen Aussteller über die in den Zertifikaten angegebenen caIssuers-Adressen verfolgt. Für jede Verbindung werden Sperrinformationen erfasst — zuerst OCSP, dann eine CRL — und zusammen mit den Zertifikaten durch eine einzige inkrementelle Aktualisierung in den Dokumentsicherheitsspeicher geschrieben
Material, das mit bereits bereitgestelltem Material identisch ist, wird einmal geschrieben und von jeder benötigten Signatur referenziert, sodass eine im Pfad oder über Signaturen gemeinsam genutzte Zertifizierungsstelle nicht doppelt erscheint. Ein VRI-Eintrag wird nur geschrieben, wenn er auf ein Zertifikat verweisen kann; ein leerer Eintrag entsteht daher nie.
Ein nicht erreichbarer Antwortdienst lässt den Aufruf nicht fehlschlagen: Die Hochstufung wird mit den gesammelten Daten fortgesetzt, und GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount sowie GetPAdESLTVError melden, was abgerufen wurde und warum Daten fehlen
Beispiel
PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
ShowMessage(PDF.GetPAdESLTVError);Siehe auch
ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates