ApplyPAdESLongTermValidation
Digitalni potpisi
Opis
Unapređuje već potpisan PDF na PAdES-B-LT u jednom pozivu, upisujući rezultat u datoteku
Sintaksa
Delphi
Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;Parametri
| InputFile | Potpisani PDF |
|---|---|
| Password | Lozinka za otvaranje, ili prazan string |
| OutputFile | Obogaćeni PDF za upisivanje |
| FieldName | Polje potpisa za obradu, ili prazan string da se svaki potpis obradi u jednu reviziju |
| Options | PADES_LTV_* bit maska; 0 bira PADES_LTV_DEFAULT |
Opcije
PADES_LTV_WRITE_VRI (1) | Upiši VRI unos za svaki potpis |
|---|---|
PADES_LTV_FETCH_OCSP (2) | Pitaj OCSP responder svakog linka |
PADES_LTV_FETCH_CRL (4) | Vrati se na CRL kad OCSP nije vratio ništa |
PADES_LTV_FOLLOW_AIA (8) | Prati adrese izdavaoca da bi se kompletirao put |
PADES_LTV_SKIP_EXISTING (16) | Ne dodavaj ponovo materijal čiji su bajtovi već pripremljeni |
PADES_LTV_SKIP_ROOT_REVOCATION (32) | Ne pitaj za status samoidatnog korenskog sertifikata |
PADES_LTV_DEFAULT (63) | Sve navedeno; bira se kad je Options 0 |
Povratne vrednosti
| 1 | Unapređenje je uspelo |
|---|---|
| 2 | Ulazna datoteka nije mogla da se pročita |
| 3 | Ulazni PDF nije mogao da se parsira |
| 10 | Izlaz nije mogao da se upiše |
| 11 | Document security store nije mogao da se doda |
| 20 | Nema takvog polja potpisa |
| 21 | Nijedan obrađen potpis nije nosio čitljiv sertifikat |
GetPAdESLTVError nosi razlog za svaku vrednost različitu od 1
Napomene
Putanja sertifikata potpisnika gradi se iz sopstvenog CMS-a potpisa, a preostali izdavaoci prate se kroz caIssuers adrese koje sertifikati navode kad je PADES_LTV_FOLLOW_AIA postavljen. Revokacija se prikuplja za svaki link - prvo OCSP, pa CRL - i sa sertifikatima upisuje u document security store jednim inkrementalnim update-om
Materijal identičan nečemu što je već zapisano upisuje se jednom i svaki potpis koji mu treba na njega upućuje, pa se sertifikatski autoritet deljen kroz putanju ili kroz potpise ne pojavljuje dva puta. VRI unos se upisuje samo kada ima sertifikat na koji može da pokaže, pa se prazan unos nikada ne proizvodi
Nedostižan responder ne obara poziv: unapređenje nastavlja sa onim što je prikupljeno, a GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount i GetPAdESLTVError prijavljuju šta je dobijeno i zašto je nešto promašeno
Primer
PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
ShowMessage(PDF.GetPAdESLTVError);Vidi takođe
ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates