PDFium Component Docs

BuildPadesEvidenceReport methode

Component: TPdf  ·  Unit: PDFium
Bouwt één begrensd bewijsrapport over elke PAdES-handtekening en documenttimestamp in de bewaarde originele PDF

Syntax

function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;

Description

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

Options

Result

TPadesEvidenceReport 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

Revocation export fields

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

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