function ValidatePadesTrust(const Options: TPadesTrustValidationOptions): TPadesValidationResult;
function ValidatePadesTrustAsync(const Options: TPadesTrustValidationOptions; const Reply: TPadesTrustValidationReply): Boolean;
Båda metoderna fångar exakt den ursprungliga fil, minnesbuffert, egen ström eller färdigställda progressiva källa som den aktiva komponenten bevarar och validerar aldrig en PDFium-sparad kopia
Varje vanlig signatur kontrolleras mot sin ursprungliga ByteRange, CMS-signerade attribut och signaturvärde, signing-certificate-v2-bindning, den konfigurerade backendens aktuella certifikatkedja samt valfri återkallningsbevisning
Signaturtidsstämplar och Document Time-stamps validerar dessutom sitt SHA-256-message imprint, bifogad CMS-signatur, TSA-kedja och valfritt återkallningstillstånd
Tidsstämpelsignerarens certifikat måste ha en kritisk Extended Key Usage-utökning som bara innehåller id-kp-timeStamping, enligt RFC 3161 avsnitt 2.3. En saknad, icke-kritisk, blandad eller annan EKU ger en ogiltig TimeStampTrustStatus även när tokenens CMS-signatur och grundläggande certifikatkedja är giltiga; den yttre dokumentsignaturen behåller sina oberoende resultat
Den asynkrona överlagringen fångar källan innan uppgiften skickas iväg och rapporterar färdigställande via TPadesTrustValidationReply
| NetworkPolicy | ptnpOffline använder enbart cachade certifikatdata medan ptnpOnline tillåter Windows-kedjehämtning |
| CheckRevocation | Begär den konfigurerade backendens kedjeåterkallningsbedömning; Windows exkluderar rotcertifikatet, medan OpenSSL kontrollerar konfigurerade CRL:er mot kedjan |
| CheckTimeStamps | Validerar signaturtidsstämpel- och Document Time-stamp-token när de finns |
| UrlRetrievalTimeoutMs | Begränsar den ursprungliga URL-hämtningen som kedje- och återkallningshanteringen använder |
| QualifiedTrustEvaluator | Utvärderar valfritt signeraren och den insamlade kedjan mot en autentiserad offline-ögonblicksbild av en trusted list |
| QualifiedValidationTime | Väljer UTC-tiden för service history-bedömningen, där noll använder aktuell tid |
| CancellationToken | Stoppar vid nästa valideringsstegsgräns |
| OnProgress | Tar emot steget, signaturindex, antal signaturer och total procentsats |
TPadesValidationResult.Signatures rapporterar oberoende värden för ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus och TimeStampRevocationStatus, medan QualifiedTrust identifierar matchat territorium, leverantör, tjänst, typ, status och starttid
AlgorithmInfo registrerar CMS-digest- och signatur-OID:er plus signerarcertifikatets publiknyckel- och namngivna kurv-OID:er, och tillämpar ISO/TS 32002-reglerna för NIST, Brainpool, Ed25519, Ed448 och kurva-till-digest innan integriteten godtas
Algoritmer utan stöd, otillgängliga plattformstjänster för tillit, ofullständig återkallningsbevisning och avbruten validering räknas aldrig upp till giltiga tillstånd
Varje signaturpost innehåller RevocationReason och NativeRevocationError från sin CMS-verifiering, plus oberoende TimeStampRevocationReason och NativeTimeStampRevocationError från verifieringen av tidsstämpeltokens. Orsakfälten använder TPdfCmsRevocationReason; de nativa felfälten är Cardinal-värden i den valda backendens felutrymme, som OpenSSLs X509_V_ERR_*-koder eller ett rått Windows-leverantörs- eller GetLastError-DWORD. Windows-värden bevaras utan konvertering till ett gemensamt HRESULT-utrymme
Tidsstämpelparet beskriver en inbäddad signaturtidsstämpel eller en Document Time-stamp, utan att skriva över det vanliga signaturparet. Tidsstämpeldiagnostiken fylls först när tokenstrukturen och message imprint-kontrollerna låter CMS-verifieringen köras
Med CheckRevocation = False förblir diagnostikorsakerna pcrrNone och felen noll. Samma standardvärden gäller när en kontroll inte nås eller dess backend inte levererar någon detaljerad orsak, så läs alltid motsvarande status i stället för att behandla en tom diagnostik som framgång
Active är True och att en fullständig ögonblicksbild av ursprungskällan finnsOnProgress körs på arbetstråden när den anropas av ValidatePadesTrustAsync och får inte manipulera UI-kontroller direktTPdfFuture
var
Options: TPadesTrustValidationOptions;
Validation: TPadesValidationResult;
begin
Options := TPadesTrustValidationOptions.Default;
Options.NetworkPolicy := ptnpOnline;
Options.CheckRevocation := True;
Validation := Pdf1.ValidatePadesTrust(Options);
end;