function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;
Combineert PDFium-handtekeningfeiten met CMS-algoritme- en beleidsinspectie, certificaattrust- en revocatiestatus, RFC 3161-timestampstatus, DSS/VRI-dekking en incrementele revisiebeleidanalyse
De methode bewaart één onveranderlijke vastlegging van de bronbytes en hergebruikt die in de compliance-, trust-, DSS- en revisiestadia zonder het document opnieuw op te slaan
Signer- en geordende certificaatpad-identiteiten worden als SHA-256-waarden uitgegeven in plaats van certificaatlichamen naar het rapport te kopiëren
TrustOptions stuurt offline of online trust-evaluatie, revocatiecontrole, timestampcontrole, voortgang, timeout en annuleringMaxSourceBytes wijst te grote bewaarde bronnen af voordat de bewijsanalyse begintMaxSignatures begrenst het verzamelde bewijs per handtekeningMaxRevisionChangesPerSignature begrenst de vastgehouden objectniveaurevisiewijzigingen per handtekeningMaxValidationMaterials en MaxStoredValidationBytes begrenzen certificaat-, OCSP- en CRL-bewijs zonder gecomprimeerde streams te decoderenMaxVriEntries begrenst handtekeningspecifieke VRI-woordenboekenTPadesEvidenceReport omvat validatie- en revisiesamenvattingen, gehashte DSS-materiaalrecords, VRI-verwijzingsgrafen, het PDFium-handtekeningsaantal, truncatiestatus en één TPadesSignatureEvidence per bewaarde handtekening
ToJson levert een genest bewijsdocument en ToCsv levert één rij per bewaarde revisiewijziging, of één samenvattingsrij wanneer een handtekening geen bewaarde wijzigingen heeft
TPadesSignatureEvidence.Validation bewaart de RevocationReason en NativeRevocationError van de handtekening onafhankelijk van de TimeStampRevocationReason en NativeTimeStampRevocationError van de timestamp
Elke JSON-entry in signatures bevat revocationReason, nativeRevocationError, timeStampSignatureStatus, timeStampTrustStatus, timeStampRevocationStatus, timeStampRevocationReason en nativeTimeStampRevocationError. Bestaande leden en hun betekenis zijn ongewijzigd; het JSON-formaat heeft geen schema-versielid, dus verbruikers lezen velden bij naam en tolereren extra leden
CSV houdt zijn oorspronkelijke 40 kolommen in de oorspronkelijke volgorde aan en plakt dezelfde zeven velden er in de hierboven genoemde volgorde achteraan bij, voor 47 kolommen in totaal. Zowel samenvattingsrijen als revisiewijzigingsrijen bevatten de diagnostiek; bestaande kolomposities blijven ongewijzigd. Lezers gebruiken beter de headernames of tolereren extra kolommen achteraan in plaats van exact 40 kolommen te eisen
Reden-strings zijn none, certificateRevoked, crlExpired, crlNotYetValid, crlUnavailable, crlSignatureInvalid, crlInvalid, chainUntrusted of unknown. Native fouten zijn numerieke backendspecifieke codes, zoals OpenSSL X509-verificatiefouten of ruwe Windows-provider- of GetLastError-DWORD-waarden, waarbij nul betekent dat er geen native diagnose is. Windows-waarden worden ongewijzigd geëxporteerd en mogen niet als geaggregeerde chain-trust-maskers of als een gemeenschappelijke HRESULT-ruimte worden gelezen
Gebruik revocationStatus en timeStampRevocationStatus voor het oordeel. Een reden van none of een nulfout komt ook voor wanneer controle uit staat, nooit wordt bereikt of geen gedetailleerde backend-diagnostiek heeft; evidence exporteren draait geen extra verificatiepass
Active True isIsTruncated wordt gezet wanneer een handtekenings-, revisiewijzigings-, validatiemateriaal-, opslagbytes- of VRI-budget rapportdetails afkaptpvssIncomplete
var
Options: TPadesEvidenceReportOptions;
Report: TPadesEvidenceReport;
begin
Options := TPadesEvidenceReportOptions.Default;
Report := Pdf1.BuildPadesEvidenceReport(Options);
TFile.WriteAllText('signature-evidence.json', Report.ToJson);
end;