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
| InputFile | Podpísané PDF |
|---|---|
| Password | Heslo na otvorenie súboru, alebo prázdny reťazec |
| OutputFile | Rozšírené PDF, ktoré sa má zapísať |
| FieldName | Podpisové pole, ktoré sa má spracovať, alebo prázdny reťazec na spracovanie všetkých podpisov do jednej revízie |
| Options | Bitová 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
| 1 | Povýšenie sa podarilo |
|---|---|
| 2 | Vstupný súbor sa nepodarilo prečítať |
| 3 | Vstupné PDF sa nepodarilo analyzovať |
| 10 | Výstup sa nepodarilo zapísať |
| 11 | Document security store sa nepodarilo pridať |
| 20 | Také 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