Madde Adresli PAdES Profile Preflight

THotPDF.PreflightLoadedPAdES, yüklü bir imzayı tek bir kümülatif PAdES baseline veya extended profiline göre değerlendirir ve başarılı kontroller dâhil, uygulanabilir her gereksinimi standart maddesi ve PDF kanıtı köken bilgisiyle döndürür

Desteklenen hedefler

Baseline hedefleri palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT ve palBaseline_B_LTA'dır; extended hedefleri ise palExtended_E_BES, palExtended_E_EPES ve palExtended_E_LTV'dir

Genel palLegacy_adbePkcs7 değeri bir PAdES profili değildir ve hedef olarak reddedilir

Değerlendirme sözleşmesi

Stream overload'u çağıranın sahibi olduğu kaynak konumunu korur; file overload'u ise LoadFromFile tarafından kullanılan kaynağı yeniden açar. True işlev sonucu değerlendirmenin tamamlandığı anlamına gelir; uygunluğu test etmek için THPDFPAdESPreflightReport.Compliant değerini kullanın

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;

İncelenen kanıtlar

Baseline ve extended kontroller; imza dictionary'sini, eksiksiz /ByteRange kapsamını, CMS imza geçerliliğini, signed-attribute kardinalitesini, content type'ı, message digest'i, signing-time kısıtlarını, /M, /Filter, /SubFilter, /Reason ve yasaklanan /Cert girdilerini inceler

ESS signing-certificate ve signing-certificate-v2 kontrolleri, gerçek signer certificate'ını hash'ler ve bir attribute'u yalnızca adıyla kabul etmek yerine eşleşen bir ESSCertID reference'ı zorunlu kılar

Daha yüksek seviyeler ayrıca geçerli imza veya belge timestamp'lerini, DSS certificate ve revocation dizilerini, doğrulama malzemesini getiren revision'ı ve sonraki bir belge timestamp'inin o DSS revision'ını kapsayıp kapsamadığını inceler

Yapılandırılmış bulgular

Her THPDFPAdESPreflightRequirement, getirdiği Profile'ı, normatif Level'ı, kararlı RuleID'yi, Clause'ı, PDF Path'ini, ObjectNumber'ı, RevisionIndex'i, Passed durumunu ve tanı Message'ını raporlar

FailedRequirementCount, başarısız shall seviyesi kuralları sayar; WarningCount ise başarısız should seviyesi yönlendirmeleri sayar. HighestConformingProfile, geçen en yüksek kümülatif profili tanımlar ve yalnızca HasConformingProfile true olduğunda anlamlıdır

PAdES signature-policy doğrulaması, batch signature validation ve signature evidence edinimi sayfalarına bakın