TPDFlibSignatureVerifier

Seguridad y firmas

Descripción

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

El verificador acepta un archivo, un flujo de datos 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 del PDF mediante un índice de base cero, mientras que VerifySignatureByName utiliza el nombre completo del campo AcroForm; 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 actual del PDF en bytes
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

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