ApplyPAdESLongTermValidation
Digitale handtekeningen
Beschrijving
Promoveert een al ondertekende PDF in één aanroep naar PAdES-B-LT en schrijft het resultaat naar een bestand
Syntaxis
Delphi
Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;Parameters
| InputFile | De ondertekende PDF |
|---|---|
| Password | Het wachtwoord om het te openen, of een lege string |
| OutputFile | De augmented PDF die moet worden weggeschreven |
| FieldName | A signature field to process, or an empty string to process every signature into one revision. |
| Options | A PADES_LTV_* bit mask; 0 selects PADES_LTV_DEFAULT. |
Opties
PADES_LTV_WRITE_VRI (1) | Schrijf een VRI-entry voor elke handtekening |
|---|---|
PADES_LTV_FETCH_OCSP (2) | Vraag de OCSP-responder van elke link |
PADES_LTV_FETCH_CRL (4) | Terugvallen op de CRL als OCSP niets opleverde |
PADES_LTV_FOLLOW_AIA (8) | Volg de issuer-adressen om het pad compleet te maken |
PADES_LTV_SKIP_EXISTING (16) | Do not re-add material whose bytes are already staged. |
PADES_LTV_SKIP_ROOT_REVOCATION (32) | Do not ask for a self-issued root's status. |
PADES_LTV_DEFAULT (63) | Al het bovenstaande; geselecteerd wanneer Options 0 is |
Retourwaarden
| 1 | De promotie is geslaagd. |
|---|---|
| 2 | Het invoerbestand kon niet worden gelezen |
| 3 | De invoer-PDF kon niet worden geparsed |
| 10 | De uitvoer kon niet worden geschreven |
| 11 | De document security store kon niet worden toegevoegd |
| 20 | No such signature field. |
| 21 | No processed signature carried a readable certificate. |
GetPAdESLTVError draagt de reden voor elke waarde anders dan 1
Opmerkingen
Het ondertekeningscertificaatpad wordt opgebouwd vanuit de eigen CMS van de handtekening, en de resterende issuers worden gevolgd via de caIssuers-adressen die de certificaten noemen wanneer PADES_LTV_FOLLOW_AIA is gezet. Revocatie wordt per schakel verzameld — eerst OCSP, dan een CRL — en wordt samen met de certificaten via één incrementele update in de document security store weggeschreven
Materiaal dat identiek is aan iets dat al klaarstaat, wordt één keer weggeschreven en door elke handtekening die het nodig heeft gerefereerd, zodat een certificaatautoriteit die over het pad of over handtekeningen heen gedeeld wordt niet twee keer verschijnt. Een VRI-entry wordt alleen weggeschreven als er een certificaat is om naar te wijzen, dus een lege entry ontstaat nooit
Een onbereikbare responder laat de aanroep niet falen: de promotie gaat door met wat er is verzameld, en GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount en GetPAdESLTVError rapporteren wat is verkregen en waarom iets is gemist
Voorbeeld
PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
ShowMessage(PDF.GetPAdESLTVError);Zie ook
ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates