Preflight hồ sơ PAdES định vị theo điều khoản

THotPDF.PreflightLoadedPAdES đánh giá một chữ ký đã nạp theo một hồ sơ PAdES baseline hoặc extended lũy tiến và trả về mọi yêu cầu áp dụng, kể cả các kiểm tra thành công, kèm nguồn gốc điều khoản chuẩn và bằng chứng PDF

Các đích được hỗ trợ

Đích baseline gồm palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT và palBaseline_B_LTA; đích extended gồm palExtended_E_BES, palExtended_E_EPES và palExtended_E_LTV

Giá trị chung palLegacy_adbePkcs7 không phải hồ sơ PAdES và bị từ chối khi dùng làm đích

Hợp đồng đánh giá

Bản overload dạng stream giữ nguyên vị trí nguồn thuộc về người gọi, còn bản overload dạng file mở lại nguồn mà LoadFromFile đã dùng. Kết quả hàm True nghĩa là việc đánh giá đã hoàn tất; dùng THPDFPAdESPreflightReport.Compliant để kiểm tra sự tuân thủ

var
  Report: THPDFPAdESPreflightReport;
  Requirement: THPDFPAdESPreflightRequirement;
begin
  PDF.LoadFromFile('Signed.pdf');
  if not PDF.PreflightLoadedPAdES(0, palBaseline_B_LT, Report) then
    raise Exception.Create(string(Report.Issue));

  for Requirement in Report.Requirements do
    WriteLn(string(Requirement.RuleID), ': ',
      BoolToStr(Requirement.Passed, True), ' at ',
      string(Requirement.Clause), ' object ',
      Requirement.ObjectNumber, ' revision ',
      Requirement.RevisionIndex);
end;

Bằng chứng được kiểm tra

Các kiểm tra baseline và extended xem xét từ điển chữ ký, độ phủ /ByteRange hoàn chỉnh, hiệu lực chữ ký CMS, số lượng thuộc tính đã ký, loại nội dung, message digest, ràng buộc thời gian ký, /M, /Filter, /SubFilter, /Reason, và các mục /Cert bị cấm

Các kiểm tra ESS signing-certificate và signing-certificate-v2 hash chứng thư người ký thực tế và yêu cầu tham chiếu ESSCertID khớp, thay vì chỉ chấp nhận thuộc tính theo tên

Các cấp cao hơn còn kiểm tra timestamp của chữ ký hoặc tài liệu hợp lệ, các mảng chứng thư và thu hồi trong DSS, revision đưa vào vật liệu xác thực, và việc timestamp tài liệu muộn hơn có bao phủ revision DSS đó hay không

Phát hiện có cấu trúc

Mỗi THPDFPAdESPreflightRequirement báo cáo Profile introducer, Level theo chuẩn, RuleID ổn định, Clause, Path PDF, ObjectNumber, RevisionIndex, trạng thái Passed và Message chẩn đoán

FailedRequirementCount đếm các quy tắc mức shall thất bại, còn WarningCount đếm các hướng dẫn mức should thất bại. HighestConformingProfile xác định hồ sơ lũy tiến cao nhất đã đạt và chỉ có ý nghĩa khi HasConformingProfile đúng

Xem Xác thực chính sách chữ ký PAdES, Xác thực chữ ký theo lô, và Thu thập bằng chứng chữ ký