function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;
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
TrustOptions styr offline- eller onlineutvärdering av trust, återkallningskontroll, tidsstämpelkontroll, förlopp, timeout och avbrottMaxSourceBytes avvisar överdimensionerade kvarhållna källor innan bevisanalysen börjarMaxSignatures begränsar den insamlade bevisningen per signaturMaxRevisionChangesPerSignature begränsar de objektnivåändringar per revision som behålls för varje signaturMaxValidationMaterials och MaxStoredValidationBytes sätter gränser för certifikat-, OCSP- och CRL-bevis utan att avkoda komprimerade strömmarMaxVriEntries begränsar de signaturtypspecifika VRI-ordlistornaTPadesEvidenceReport 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
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
Active är TrueIsTruncated sätts när någon signatur-, revisionsändrings-, valideringsmaterial-, lagringsbyte- eller VRI-budget klipper i rapportens detaljerpvssIncomplete
var
Options: TPadesEvidenceReportOptions;
Report: TPadesEvidenceReport;
begin
Options := TPadesEvidenceReportOptions.Default;
Report := Pdf1.BuildPadesEvidenceReport(Options);
TFile.WriteAllText('signature-evidence.json', Report.ToJson);
end;