PDFium Delphi Component Docs

BuildPadesEvidenceReport Méthode

Composant: TPdf  ·  Unit: PDFium
Construit un rapport de preuves borné unique couvrant chaque signature PAdES et horodatage de document du PDF d’origine conservé

Syntax

function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;

Description

Combine les faits de signature PDFium avec l’inspection des algorithmes et politiques CMS, la confiance et l’état de révocation des certificats, l’état des horodatages RFC 3161, la couverture DSS/VRI et l’analyse des politiques de révisions incrémentielles

La méthode conserve une capture immuable des octets sources et la réutilise à travers les étapes de conformité, de confiance, de DSS et de révisions sans réenregistrer le document

Les identités du signataire et du chemin de certificats ordonné sont émises sous forme de valeurs SHA-256 plutôt que de copier les corps de certificats dans le rapport

Options

Result

Le TPadesEvidenceReport inclut des résumés de validation et de révisions, des records de matériel DSS hachés, des graphes de références VRI, le nombre de signatures PDFium, l’état de troncature et un TPadesSignatureEvidence par signature conservée

ToJson émet un document de preuves imbriqué et ToCsv émet une ligne par changement de révision conservé, ou une ligne de résumé lorsqu’une signature n’a aucun changement conservé

TPadesSignatureEvidence.Validation conserve le RevocationReason et le NativeRevocationError de la signature indépendamment du TimeStampRevocationReason et du NativeTimeStampRevocationError de l’horodatage

Revocation export fields

Chaque entrée JSON de signatures inclut revocationReason, nativeRevocationError, timeStampSignatureStatus, timeStampTrustStatus, timeStampRevocationStatus, timeStampRevocationReason et nativeTimeStampRevocationError. Les membres existants et leur signification ne changent pas ; le format JSON n’a aucun membre de version de schéma, les consommateurs doivent donc lire les champs par nom et tolérer des membres supplémentaires

Le CSV conserve ses 40 colonnes d’origine dans leur ordre d’origine et ajoute ces mêmes sept champs dans l’ordre listé ci-dessus, soit 47 colonnes au total. Les lignes de résumé comme les lignes de changement de révision incluent les diagnostics ; les positions de colonnes existantes restent inchangées. Les lecteurs doivent s’appuyer sur les noms d’en-tête ou tolérer des colonnes supplémentaires en fin de ligne plutôt que d’exiger exactement 40 colonnes

Les chaînes de raison sont none, certificateRevoked, crlExpired, crlNotYetValid, crlUnavailable, crlSignatureInvalid, crlInvalid, chainUntrusted ou unknown. Les erreurs natives sont des codes numériques propres au backend, comme les erreurs de vérification X509 d’OpenSSL ou les valeurs DWORD brutes de fournisseur Windows ou de GetLastError, zéro signifiant l’absence de diagnostic natif. Les valeurs Windows sont exportées telles quelles et ne doivent pas être interprétées comme des masques de confiance de chaîne agrégés ni comme un espace HRESULT commun

Utilisez revocationStatus et timeStampRevocationStatus pour déterminer le verdict. Une raison none ou une erreur zéro survient aussi quand la vérification est désactivée, jamais atteinte ou dépourvue de diagnostics backend détaillés ; exporter des preuves n’effectue aucune passe de vérification supplémentaire

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