PDFium Delphi Component Docs

BuildPadesEvidenceReport metod

Component: TPdf  ·  Unit: PDFium
Bygger en avgränsad bevisrapport över alla PAdES-signaturer och dokumenttidsstämplar i den kvarhållna original-PDF:en

Syntax

function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;

Description

Kombinerar PDFiums signaturfakta med granskning av CMS-algoritmer och policyer, certifikattrust och återkallningsstatus, RFC 3161-tidsstämpelstatus, DSS/VRI-täckning och policyanalys av inkrementella revisioner

Metoden behåller en oföränderlig kopia av källbytorna och återanvänder den i compliance-, trust-, DSS- och revisionsstegen utan att spara om dokumentet

Signerarens och den ordnade certifikatsökvägens identiteter emitteras som SHA-256-värden i stället för att kopiera certifikatkroppar in i rapporten

Options

Result

TPadesEvidenceReport innehåller validerings- och revisionssammanställningar, hashade DSS-materialposter, VRI-referensgrafer, PDFiums signaturräkning, avkortningstillstånd och en TPadesSignatureEvidence per kvarhållen signatur

ToJson emitterar ett nästlat bevisdokument och ToCsv emitterar en rad per kvarhållen revisionsändring, eller en sammanfattande rad när en signatur saknar kvarhållna ändringar

TPadesSignatureEvidence.Validation bevarar signaturens RevocationReason och NativeRevocationError oberoende av tidsstämpelns TimeStampRevocationReason och NativeTimeStampRevocationError

Revocation export fields

Varje JSON-post i signatures innehåller revocationReason, nativeRevocationError, timeStampSignatureStatus, timeStampTrustStatus, timeStampRevocationStatus, timeStampRevocationReason och nativeTimeStampRevocationError. Befintliga medlemmar och deras betydelser är oförändrade; JSON-formatet har ingen schemaversionsmedlem, så konsumenter bör läsa fälten efter namn och tolerera ytterligare medlemmar

CSV behåller sina ursprungliga 40 kolumner i ursprunglig ordning och lägger till samma sju fält i den ordning som listats ovan, totalt 47 kolumner. Både sammanfattande rader och revisionsändringsrader innehåller diagnostiken; befintliga kolumnpositioner är oförändrade. Läsare bör använda rubriknamnen eller tolerera extra efterföljande kolumner i stället för att kräva exakt 40 kolumner

Orsakssträngarna är none, certificateRevoked, crlExpired, crlNotYetValid, crlUnavailable, crlSignatureInvalid, crlInvalid, chainUntrusted eller unknown. Nativa fel är numeriska backendspecifika koder, som OpenSSLs X509-verifieringsfel eller råa Windows-leverantörs- eller GetLastError-DWORD-värden, där noll betyder ingen nativ diagnostik. Windows-värden exporteras oförändrade och får inte tolkas som aggregerade kedjetillitsmasker eller ett gemensamt HRESULT-utrymme

Använd revocationStatus och timeStampRevocationStatus för att fastställa slutsatsen. Orsaken none eller ett nollfel förekommer också när kontrollen är avstängd, aldrig nås eller saknar detaljerad backenddiagnostik; att exportera evidens gör inget extra verifieringspass

Remarks

Example

var
  Options: TPadesEvidenceReportOptions;
  Report: TPadesEvidenceReport;
begin
  Options := TPadesEvidenceReportOptions.Default;
  Report := Pdf1.BuildPadesEvidenceReport(Options);
  TFile.WriteAllText('signature-evidence.json', Report.ToJson);
end;

See Also

ValidatePadesTrust AnalyzeSignatureRevisions