PDFium Delphi Component Docs

Metoda ValidatePades

Component: TPdf  ·  Unit: PDFium
Inspectează structurile PAdES din octeții sursă PDF originali și raportează conformitatea structurală, integritatea CMS detașat, legarea certificatului și stările de încredere independente

Syntax

function ValidatePades: TPadesValidationResult;

Description

Analizează dicționarele de semnătură încorporate din octeții originali încărcați, le verifică structura pentru conformitatea de bază PAdES și ține decalajele semnăturilor separate de vizualizarea extinsă a object-stream folosită pentru căutarea în catalog și în DSS

Intrările obligatorii de semnătură sunt numărate doar la nivelul dicționarului de sus, astfel încât cheile duplicate Contents, ByteRange, SubFilter, Filter sau Type nu pot fi ascunse prin valorile selectate de parser, în timp ce cheile cu același nume din dicționarele și vectorii imbricați rămân independente

Descoperirea semnăturilor folosește o scanare lexicală liniară care săree corpurile de flux, șirurile, valorile hexazecimale și comentariile, decodează secvențele de escape #xx din nume și rămâne independentă de faptul dacă un dicționar imbricat apare înaintea sau după intrările semnăturii

Golul exclus /ByteRange trebuie să fie egal cu tokenul hexazecimal direct complet /Contents, inclusiv delimitatorii săi, iar fiecare revizie acoperită trebuie să se încheie la o graniță completă de revizie PDF

Pe Windows, semnăturile CMS obișnuite detașate sunt verificate direct împotriva celor două segmente /ByteRange originale, inclusiv atributele CMS semnate, valoarea criptografică a semnăturii și legarea SHA-256 signing-certificate-v2

Fiecare semnatar primește, de asemenea, un profil de algoritm analizat din identificatorii CMS și X.509, cu verificări ISO/TS 32002 pentru curbele NIST și Brainpool acceptate, Ed25519, Ed448, congruența digestului, parametrii curbelor numite și lungimea de ieșire SHAKE256

Remarks

Example

var
  Res: TPadesValidationResult;
begin
  if not Pdf1.Active then Exit;
  Res := Pdf1.ValidatePades;
  if Res.IsCryptographicallyValid then
    ShowMessage('PAdES signature integrity passed');
end;

See Also

SignPades PadesCryptoAvailable