ApplyPAdESLongTermValidation

Skaitmeniniai parašai

Aprašymas

Vienu kvietimu pakelia jau pasirašytąjį PDF iki PAdES-B-LT, rezultatą rašydama į failą

Sintaksė

Delphi

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

Parametrai

InputFilePasirašytasis PDF
PasswordSlaptažodis, kuriuo jis atveriamas, arba tuščia eilutė
OutputFileRašytinas papildytasis PDF
FieldNameApdorojatinas parašo laukas arba tuščioji eilutė, kad kiekvienas parašas būtų apdorotas į vieną reviziją
OptionsA PADES_LTV_* bit mask; 0 selects PADES_LTV_DEFAULT.

Parinktys

PADES_LTV_WRITE_VRI (1)Rašyti VRI įrašą kiekvienam parašui
PADES_LTV_FETCH_OCSP (2)Klauskite kiekvienos nuorodos OCSP atsakiklio.
PADES_LTV_FETCH_CRL (4)Grįžti prie CRL, kai OCSP negrąžino nieko
PADES_LTV_FOLLOW_AIA (8)Sekti išdavėjo adresus, kad kelias būtų užbaigtas
PADES_LTV_SKIP_EXISTING (16)Nepridėkite iš naujo medžiagos, kurios baitai jau paruošti
PADES_LTV_SKIP_ROOT_REVOCATION (32)Neklausti savęs išduotosios šaknies būsenos
PADES_LTV_DEFAULT (63)Visi aukščiau išvardyti; pasirenkama, kai Options yra 0

Grąžinamos reikšmės

1Pakėlimas pavyko
2Įvesties failo nepavyko perskaityti
3Įvesties PDF nepavyko išanalizuoti
10Išvesties nepavyko įrašyti
11Dokumento saugumo saugyklos (DSS) pridėti nepavyko
20No such signature field.
21No processed signature carried a readable certificate.

GetPAdESLTVError neša bet kurios kitos nei 1 reikšmės priežastį

Pastabos

Pasirašiusiojo sertifikato kelias sudaromas iš paties parašo CMS, o likusieji išdavėjai sekami per caIssuers adresus, kuriuos įvardija sertifikatai, kai nustatyta PADES_LTV_FOLLOW_AIA. Atšaukimas surenkamas kiekvienai nuorodai – pirmiausia OCSP, tada CRL – ir, kartu su sertifikatais, rašomas į dokumento saugumo saugyklą vienu papildomuoju atnaujinimu

Medžiaga, identiška jau paruoštajai, įrašoma vieną kartą ir yra nurodoma kiekvieno jai reikalingo parašo, todėl kelio arba parašų bendrinama sertifikavimo įstaiga nepasirodo dukart. VRI įrašas rašomas tik tada, kai yra sertifikatas, į kurį jis galėtų rodyti, todėl tuščiasis įrašas niekada nesusidaro

Nepasiekiamasis atsakovas nepriverčia kvietimo nepavykti: pakėlimas tęsiasi su tai, kas surinkta, o GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount ir GetPAdESLTVError praneša, kas gauta ir kodėl kažkas praleista

Pavyzdys

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

Taip pat žiūrėkite

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates