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

InputFilePotpisani PDF
PasswordLozinka za otvaranje, ili prazan string
OutputFileObogaćeni PDF za upisivanje
FieldNamePolje potpisa za obradu, ili prazan string da se svaki potpis obradi u jednu reviziju
OptionsPADES_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

1Unapređenje je uspelo
2Ulazna datoteka nije mogla da se pročita
3Ulazni PDF nije mogao da se parsira
10Izlaz nije mogao da se upiše
11Document security store nije mogao da se doda
20Nema takvog polja potpisa
21Nijedan 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