ApplyPAdESLongTermValidation

Digitálne podpisy

Popis

Povýši už podpísané PDF na PAdES-B-LT jediným volaním a výsledok zapíše do súboru

Syntax

Delphi

Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;

Parametre

InputFilePodpísané PDF
PasswordHeslo na otvorenie súboru, alebo prázdny reťazec
OutputFileRozšírené PDF, ktoré sa má zapísať
FieldNamePodpisové pole, ktoré sa má spracovať, alebo prázdny reťazec na spracovanie všetkých podpisov do jednej revízie
OptionsBitová maska PADES_LTV_*; 0 vyberá PADES_LTV_DEFAULT

Voľby

PADES_LTV_WRITE_VRI (1)Zapíše záznam VRI pre každý podpis
PADES_LTV_FETCH_OCSP (2)Opýta sa OCSP respondenta každého odkazu
PADES_LTV_FETCH_CRL (4)Ak OCSP nevrátil nič, vráti sa k CRL
PADES_LTV_FOLLOW_AIA (8)Nasleduje adresy vystaviteľov, aby doplnil cestu
PADES_LTV_SKIP_EXISTING (16)Nepridáva znova materiál, ktorého bajty už boli zaradené
PADES_LTV_SKIP_ROOT_REVOCATION (32)Nepýta sa na status samovydaného koreňového certifikátu
PADES_LTV_DEFAULT (63)Všetko vyššie uvedené; vyberá sa, keď je Options 0

Návratové hodnoty

1Povýšenie sa podarilo
2Vstupný súbor sa nepodarilo prečítať
3Vstupné PDF sa nepodarilo analyzovať
10Výstup sa nepodarilo zapísať
11Document security store sa nepodarilo pridať
20Také podpisové pole neexistuje
21Žiadny spracovaný podpis neniesol čitateľný certifikát

GetPAdESLTVError nesie príčinu ľubovoľnej hodnoty inej než 1

Poznámky

Cesta certifikátu podpisujúceho sa buduje z vlastného CMS podpisu a pri zapnutej voľbe PADES_LTV_FOLLOW_AIA sa zvyšní vystavitelia dohľadajú cez adresy caIssuers, ktoré certifikáty uvádzajúRevokácia sa zbiera pre každý odkaz – najprv OCSP, potom CRL – a spolu s certifikátmi ju jednou prírastkovou aktualizáciou zapíše do document security store

Materiál identický s tým, čo už bolo zaradené, sa zapíše raz a odkazuje naň každý podpis, ktorý ho potrebuje, takže certifikačná autorita zdieľaná v ceste alebo medzi podpismi sa neobjaví dvakrátZáznam VRI sa zapíše len vtedy, keď obsahuje certifikát, na ktorý môže ukazovať, takže prázdny záznam nikdy nevznikne

Nedostupný respondent volanie nezlyhá: povýšenie pokračuje s tým, čo sa podarilo získať, a GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount a GetPAdESLTVError oznámia, čo sa získalo a prečo niečo chýbalo

Príklad

PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
  ShowMessage(PDF.GetPAdESLTVError);

Pozri tiež

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates