ApplyPAdESLongTermValidation

Chữ ký số

Mô tả

Nâng một PDF đã ký lên PAdES-B-LT trong một lần gọi, ghi kết quả ra file

Cú pháp

Delphi

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

Tham số

InputFilePDF đã ký.
PasswordMật khẩu để mở nó, hoặc chuỗi rỗng
OutputFilePDF sau khi bổ sung cần ghi ra
FieldNameMột trường chữ ký cần xử lý, hoặc chuỗi rỗng để xử lý mọi chữ ký vào một revision duy nhất
OptionsA PADES_LTV_* bit mask; 0 selects PADES_LTV_DEFAULT.

Tùy chọn

PADES_LTV_WRITE_VRI (1)Ghi một mục VRI cho từng chữ ký
PADES_LTV_FETCH_OCSP (2)Hỏi OCSP responder của từng liên kết.
PADES_LTV_FETCH_CRL (4)Quay về CRL khi OCSP không trả về gì
PADES_LTV_FOLLOW_AIA (8)Đi theo địa chỉ issuer để hoàn thiện chuỗi chứng thực
PADES_LTV_SKIP_EXISTING (16)Đừng thêm lại material mà byte của nó đã được stage
PADES_LTV_SKIP_ROOT_REVOCATION (32)Do not ask for a self-issued root's status.
PADES_LTV_DEFAULT (63)Tất cả các mục trên; được chọn khi Options = 0

Giá trị trả về

1Nâng cấp thành công.
2Không đọc được file đầu vào
3Không parse được PDF đầu vào
10Không ghi được đầu ra
11Không thêm được document security store
20No such signature field.
21No processed signature carried a readable certificate.

GetPAdESLTVError mang lý do cho mọi giá trị khác 1

Ghi chú

Đường certificate người ký được dựng từ CMS của chính chữ ký, và các issuer còn lại được đi tiếp qua các địa chỉ caIssuers mà các certificate nêu khi PADES_LTV_FOLLOW_AIA được đặt. Material thu hồi được gom cho từng mắt xích - OCSP trước, rồi CRL - và cùng các certificate được ghi vào document security store bằng một incremental update duy nhất

Material trùng với thứ đã staged sẽ chỉ được ghi một lần và mọi chữ ký cần nó cùng tham chiếu, nhờ certificate authority dùng chung trên chuỗi chứng thực hoặc giữa các chữ ký không xuất hiện hai lần. Mục VRI chỉ được ghi khi nó có certificate để trỏ tới, nên không bao giờ sinh ra mục rỗng

Một responder không liên lạc được không làm lời gọi thất bại: việc nâng cấp vẫn tiến hành với thứ đã gom được, còn GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount và GetPAdESLTVError báo những gì đã thu được và lý do có gì bị bỏ sót

Ví dụ

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

Xem thêm

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates