ApplyPAdESLongTermValidation
Ψηφιακές υπογραφές
Περιγραφή
Αναβαθμίζει ήδη υπογεγραμμένο PDF σε PAdES-B-LT σε μία κλήση, γράφοντας το αποτέλεσμα σε αρχείο
Σύνταξη
Delphi
Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;Παράμετροι
| InputFile | Το υπογεγραμμένο PDF |
|---|---|
| Password | Ο κωδικός πρόσβασης για το άνοιγμά του ή μια κενή συμβολοσειρά |
| OutputFile | Το εμπλουτισμένο PDF προς εγγραφή |
| FieldName | Signature field προς επεξεργασία, ή κενή συμβολοσειρά για επεξεργασία κάθε υπογραφής σε μία αναθεώρηση |
| Options | A PADES_LTV_* bit mask; 0 selects PADES_LTV_DEFAULT. |
Επιλογές
PADES_LTV_WRITE_VRI (1) | Γράφει εγγραφή VRI για κάθε υπογραφή |
|---|---|
PADES_LTV_FETCH_OCSP (2) | Ερώτημα του OCSP responder κάθε συνδέσμου |
PADES_LTV_FETCH_CRL (4) | Υποχώρηση σε CRL όταν το OCSP δεν επέστρεψε τίποτα |
PADES_LTV_FOLLOW_AIA (8) | Ακολούθηση διευθύνσεων εκδότη για συμπλήρωση της διαδρομής |
PADES_LTV_SKIP_EXISTING (16) | Να μην προστίθεται ξανά υλικό με bytes που είναι ήδη staged |
PADES_LTV_SKIP_ROOT_REVOCATION (32) | Να μην γίνεται ερώτημα για την κατάσταση self-issued root |
PADES_LTV_DEFAULT (63) | Όλα τα παραπάνω· επιλέγεται όταν το Options είναι 0 |
Τιμές επιστροφής
| 1 | The promotion succeeded. |
|---|---|
| 2 | Το αρχείο εισόδου δεν μπόρεσε να διαβαστεί |
| 3 | Το PDF εισόδου δεν μπόρεσε να αναλυθεί |
| 10 | Η έξοδος δεν μπόρεσε να γραφτεί |
| 11 | Το document security store δεν μπόρεσε να προστεθεί |
| 20 | No such signature field. |
| 21 | Καμία επεξεργασμένη υπογραφή δεν έφερε αναγνώσιμο πιστοποιητικό |
Το GetPAdESLTVError δίνει την αιτία για κάθε τιμή διάφορη του 1.
Παρατηρήσεις
The signer certificate path is built from the signature's own CMS, and the remaining issuers are followed through the caIssuers addresses the certificates name when PADES_LTV_FOLLOW_AIA is set. Revocation is gathered for each link - OCSP first, then a CRL - and, with the certificates, written into the document security store by a single incremental update.
Υλικό πανομοιότυπο με κάτι ήδη staged γράφεται μία φορά και αναφέρεται από κάθε υπογραφή που το χρειάζεται, ώστε αρχή πιστοποίησης κοινή στη διαδρομή ή στις υπογραφές να μην εμφανίζεται δύο φορές. Εγγραφή VRI γράφεται μόνο όταν έχει πιστοποιητικό να δείξει, οπότε κενή εγγραφή δεν παράγεται ποτέ
Μη προσβάσιμος responder δεν αποτυγχάνει την κλήση: η προαγωγή συνεχίζεται με ό,τι συλλέχθηκε, και τα GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount και GetPAdESLTVError αναφέρουν τι βρέθηκε και γιατί χάθηκε κάτι.
Παράδειγμα
PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
ShowMessage(PDF.GetPAdESLTVError);Δείτε επίσης
ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates