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ố
| InputFile | PDF đã ký. |
|---|---|
| Password | Mật khẩu để mở nó, hoặc chuỗi rỗng |
| OutputFile | PDF sau khi bổ sung cần ghi ra |
| FieldName | Mộ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 |
| Options | A 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ề
| 1 | Nâng cấp thành công. |
|---|---|
| 2 | Không đọc được file đầu vào |
| 3 | Không parse được PDF đầu vào |
| 10 | Không ghi được đầu ra |
| 11 | Không thêm được document security store |
| 20 | No such signature field. |
| 21 | No 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