ApplyPAdESLongTermValidation
Digitalni podpisi
Opis
Že podpisan PDF v enem klicu dvigne na PAdES-B-LT, rezultat pa zapiše v datoteko
Sintaksa
Delphi
Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;Parametri
| InputFile | Podpisani PDF |
|---|---|
| Password | Geslo za odpiranje ali prazen niz |
| OutputFile | Razširjeni PDF za zapis |
| FieldName | Podpisno polje za obdelavo ali prazen niz, da se vsi podpisi obdelajo v eno revizijo |
| Options | bitna maska PADES_LTV_*; 0 izbere PADES_LTV_DEFAULT |
Možnosti
PADES_LTV_WRITE_VRI (1) | za vsak podpis zapiše vnos VRI |
|---|---|
PADES_LTV_FETCH_OCSP (2) | vprašaj OCSP odgovornika vsake povezave |
PADES_LTV_FETCH_CRL (4) | Ko OCSP ne vrne ničesar, se vrni na CRL |
PADES_LTV_FOLLOW_AIA (8) | Sledi naslovom izdajatelja, da dopolni pot |
PADES_LTV_SKIP_EXISTING (16) | Ne znova dodajajte materiala, katerega bajti so že pripravljeni |
PADES_LTV_SKIP_ROOT_REVOCATION (32) | ne vprašaj po stanju samoidanega korena |
PADES_LTV_DEFAULT (63) | Vse zgoraj navedeno; izbrano, kadar je Options 0 |
Vrnjene vrednosti
| 1 | Povišanje je uspelo |
|---|---|
| 2 | Vhodne datoteke ni bilo mogoče prebrati |
| 3 | Vhodnega PDF-ja ni bilo mogoče razčleniti |
| 10 | Izhoda ni bilo mogoče zapisati |
| 11 | Shrambe varnosti dokumenta ni bilo mogoče dodati |
| 20 | takega podpisnega polja ni |
| 21 | noben obdelan podpis ni nosil berljivega certifikata |
Razlog za katero koli vrednost različno od 1 pove GetPAdESLTVError
Opombe
Pot certifikata podpisnika se zgradi iz lastnega CMS podpisa, preostali izdajatelji pa se sledijo skozi naslove caIssuers, ki jih certifikati poimenujejo, kadar je nastavljen PADES_LTV_FOLLOW_AIA. Preklic se zbere za vsako povezavo - najprej OCSP, nato CRL - in se skupaj s certifikati zapiše v dokumentno varnostno shrambo z enim inkrementalnim posodobitvijo
Gradivo, identično čemu, kar je že pripravljeno, se zapiše enkrat in nanj se sklicuje vsak podpis, ki ga potrebuje, tako da certifikatna avtoriteta, deljena čez pot ali čez podpise, se ne pojavi dvakrat. Vnos VRI se zapiše samo, kadar ima certifikat, na katerega kaže, tako da prazen vnos ni nikoli izdelan
Nedosegljiv odgovarjalec ne povzroči spodletela klica: povišanje se nadaljuje s tem, kar je bilo zbrano, GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount in GetPAdESLTVError pa poročajo, kaj je bilo pridobljeno in zakaj je kaj ostalo
Primer
PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
ShowMessage(PDF.GetPAdESLTVError);Glejte tudi
ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates