THotPDF.SaveIncrementalUpdateAuthenticated Method

Xác thực các chính sách revision đã ký, từ chối các thay đổi bị cấm, và phát hành một cập nhật tăng dần một cách nguyên tử

Các khai báo

function SaveIncrementalUpdateAuthenticated(
  const TargetFile: TFileName;
  const Options: THPDFAuthenticatedIncrementalUpdateOptions;
  out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;

function SaveIncrementalUpdateAuthenticated(
  const TargetFile: TFileName;
  out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;

Quy trình

  1. Ghi revision tăng dần đang chờ vào một ứng viên duy nhất trong thư mục đích
  2. Nạp mọi chính sách từ đúng revision được bảo vệ bởi khoảng byte chữ ký của nó
  3. Xác thực từng chữ ký CMS mang chính sách và tùy chọn xác minh đường dẫn chứng thư của nó
  4. Phân loại mọi revision về sau và thi hành các quyết định DocMDP, FieldMDP, UR hay UR3, Identity, và biến đổi không rõ
  5. Phát hành ứng viên được chấp nhận bằng thay thế nguyên tử write-through

Một lời từ chối xóa ứng viên và để đích hiện hữu không đổi từng byte

Các tùy chọn

Thành viênMục đích
AuthenticationipaCryptographic yêu cầu một chữ ký byte-range CMS hợp lệ, còn ipaTrustedCertificate yêu cầu thêm cvsTrusted từ xác thực đường dẫn chứng thư và thu hồi
RequireSignaturePolicyTừ chối tài liệu không có chính sách biến đổi đã xác thực khi True, đây là mặc định
CertificateValidationCác trust anchor, intermediate, bằng chứng thu hồi offline, thời điểm xác thực, mục đích và chính sách thuật toán dùng ở chế độ chứng thư đáng tin

Chi tiết kết quả

THPDFAuthenticatedIncrementalUpdateInfo báo trạng thái cuối, chỉ mục chữ ký lỗi, trạng thái chữ ký và chứng thư, tổng số chữ ký, số chính sách đã xác thực, và một vấn đề chẩn đoán

Các trạng thái quan trọng gồm aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation và aiusCommitFailed

Sử dụng

var
  Info: THPDFAuthenticatedIncrementalUpdateInfo;
begin
  PDF.BeginIncrementalUpdate('certified.pdf');
  PDF.SetLoadedFormFieldValueByName('CustomerName', 'Ada');
  if not PDF.SaveIncrementalUpdateAuthenticated('updated.pdf', Info) then
    raise Exception.Create(String(Info.Issue));
end;

Ranh giới bảo mật

API liên quan