Preflight profilów PAdES z adresowaniem po klauzulach

THotPDF.PreflightLoadedPAdES ocenia załadowany podpis względem jednego skumulowanego profilu PAdES baseline lub extended i zwraca każde mające zastosowanie wymaganie, łącznie ze sprawdzeniami zaliczonymi, z pochodzeniem z klauzul norm i dowodów PDF

Obsługiwane cele

Celami baseline są palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT i palBaseline_B_LTA, a celami extended palExtended_E_BES, palExtended_E_EPES i palExtended_E_LTV

Ogólna wartość palLegacy_adbePkcs7 nie jest profilem PAdES i jest odrzucana jako cel

Kontrakt oceny

Przeciążenie strumieniowe zachowuje pozycję źródła należącą do wywołującego, a przeciążenie plikowe otwiera ponownie źródło używane przez LoadFromFile. Wynik funkcji True oznacza ukończenie oceny; zgodność sprawdzaj przez THPDFPAdESPreflightReport.Compliant

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;

Badane dowody

Sprawdzenia baseline i extended badają słownik podpisu, pełne pokrycie /ByteRange, ważność podpisu CMS, liczebność atrybutów podpisanych, typ zawartości, message digest, ograniczenia czasu podpisania, /M, /Filter, /SubFilter, /Reason i zakazane wpisy /Cert

Sprawdzenia ESS signing-certificate i signing-certificate-v2 hashują rzeczywisty certyfikat podpisującego i wymagają pasującej referencji ESSCertID, zamiast akceptować atrybut z samej nazwy

Wyższe poziomy badają dodatkowo ważne znaczniki czasu podpisu lub dokumentu, tablice certyfikatów i revocacji DSS, rewizję, która wniosła materiał walidacyjny, oraz to, czy późniejszy znacznik czasu dokumentu pokrywa tę rewizję DSS

Ustrukturyzowane ustalenia

Każde THPDFPAdESPreflightRequirement raportuje wprowadzający je Profile, normatywny Level, stabilny RuleID, Clause, PDF-owy Path, ObjectNumber, RevisionIndex, status Passed i diagnostyczny Message

FailedRequirementCount liczy niezaliczone reguły poziomu shall, a WarningCount niezaliczone wytyczne poziomu should. HighestConformingProfile wskazuje najwyższy zaliczony profil skumulowany i ma znaczenie tylko wtedy, gdy HasConformingProfile jest true

Zobacz walidację polityki podpisu PAdES, walidację podpisów wsadowo i pozyskiwanie dowodów podpisu