ApplyPAdESLongTermValidation

Digitale signaturer

Beskrivelse

Promoterer en allerede signert PDF til PAdES-B-LT i ett kall, og skriver resultatet til en fil

Syntaks

Delphi

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

Parametere

InputFileDen signerte PDF-en
PasswordPassordet for å åpne den, eller en tom streng
OutputFileDen utvidede PDF-en som skal skrives
FieldNameEt signaturfelt som skal behandles, eller en tom streng for å behandle alle signaturer til én revisjon
OptionsA PADES_LTV_* bit mask; 0 selects PADES_LTV_DEFAULT.

Alternativer

PADES_LTV_WRITE_VRI (1)Skriver en VRI-oppføring for hver signatur
PADES_LTV_FETCH_OCSP (2)Spør hver lenkes OCSP-responder.
PADES_LTV_FETCH_CRL (4)Fall tilbake til CRL når OCSP ikke svarte
PADES_LTV_FOLLOW_AIA (8)Følg utstederadressene for å fullføre kjeden
PADES_LTV_SKIP_EXISTING (16)Do not re-add material whose bytes are already staged.
PADES_LTV_SKIP_ROOT_REVOCATION (32)Ikke spør etter statusen til en selvutstedt rot
PADES_LTV_DEFAULT (63)Alt det ovenfor; velges når Options er 0

Returverdier

1Oppgraderingen lyktes
2Inndatafilen kunne ikke leses
3Inndata-PDF-en kunne ikke tolkes
10Utdataene kunne ikke skrives
11Dokumentets sikkerhetslager kunne ikke legges til
20No such signature field.
21No processed signature carried a readable certificate.

GetPAdESLTVError bærer årsaken til enhver verdi annet enn 1

Merknader

Signerens sertifikatssti bygges fra signaturens egen CMS, og de resterende utstederne følges via caIssuers-adressene sertifikatene oppgir når PADES_LTV_FOLLOW_AIA er satt. Opphevelse samles inn for hver lenke - OCSP først, deretter en CRL - og skrives sammen med sertifikatene inn i dokumentets sikkerhetslager ved én enkelt inkrementell oppdatering

Materiale identisk med noe som allerede er klargjort skrives én gang og refereres av hver signatur som trenger det, så en sertifikatmyndighet delt på tvers av banen eller på tvers av signaturer vises ikke to ganger. En VRI-oppføring skrives bare når den har et sertifikat å peke på, så en tom oppføring produseres aldri

En uåbar responder lar ikke kallet feile: promoteringen fortsetter med det som ble samlet inn, og GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount og GetPAdESLTVError rapporterer hva som ble innhentet og hvorfor noe manglet

Eksempel

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

Se også

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates