TPDFlibSignatureVerifier

Seguridad y Firmas

Descripción

Enumera los campos de firma PDF y los firmantes CMS, valida una firma seleccionada sin cargar el PDF completo en memoria e informa la cobertura exacta de la revisión firmada de forma separada de la integridad criptográfica

El verificador acepta un archivo, un flujo propiedad del llamador o una cadena de bytes ANSI a través de OpenPDF, OpenPDFStream o OpenPDFString

Selección

Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);

VerifySignatureByIndex selecciona el campo PDF por índice de base cero, mientras que VerifySignatureByName usa el nombre completo del campo AcroForm y ambos métodos aceptan un índice de firmante CMS de base cero

Informe de verificación

IntegrityResultResultado de integridad criptográfica CMS o PKCS#7 heredado para el firmante seleccionado
CoverageStatusscInvalid, scSignedRevision o scWholeDocument
ByteRangeValidVerdadero únicamente cuando todos los rangos están acotados, el hueco de Contents es exacto y la revisión firmada termina en su propio %%EOF
ContentsGapValidVerdadero únicamente cuando los bytes omitidos son exactamente el token hexadecimal /Contents seleccionado
HasLaterRevisionsVerdadero cuando la firma seleccionada es válida para una revisión incremental anterior pero existen bytes posteriores
SignedRevisionLengthLongitud en bytes de la revisión autenticada por la firma seleccionada
DocumentLengthLongitud en bytes actual del PDF
NativeErrorCódigo de error de Windows CryptoAPI cuando falla la validación de integridad

Métodos de compatibilidad

VerifySignature, GetSignatureMetadata, GetSignerCertificate y VerifySignerCertificateChain siguen disponibles y seleccionan el campo 0 y el firmante 0

Use GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex o VerifySignerCertificateChainByName para una selección explícita