Función CryptVerifyCertificateSignature (wincrypt.h)

La función CryptVerifyCertificateSignature comprueba la firma de un certificado, una lista de revocación de certificados (CRL) o una solicitud de certificado mediante la clave pública en una estructura de CERT_PUBLIC_KEY_INFO . La función no requiere acceso a una clave privada.

Sintaxis

BOOL CryptVerifyCertificateSignature(
  [in] HCRYPTPROV_LEGACY     hCryptProv,
  [in] DWORD                 dwCertEncodingType,
  [in] const BYTE            *pbEncoded,
  [in] DWORD                 cbEncoded,
  [in] PCERT_PUBLIC_KEY_INFO pPublicKey
);

Parámetros

[in] hCryptProv

Este parámetro no se usa y debe establecerse en NULL.

Windows Server 2003 y Windows XP: Identificador del proveedor de servicios criptográficos (CSP) que se usa para comprobar la firma. El tipo de datos de este parámetro es HCRYPTPROV.

Null se pasa a menos que haya un motivo seguro para pasar un proveedor criptográfico específico. Pasar NULL hace que se adquiera el proveedor RSA o DSS predeterminado.

[in] dwCertEncodingType

Tipo de codificación de certificado que se usó para cifrar el asunto. Esta función omite el identificador de tipo de codificación de mensaje , contenido en el alto WORD de este valor.

Este parámetro puede ser el siguiente tipo de codificación de certificado definido actualmente.

Valor Significado
X509_ASN_ENCODING
1 (0x1)
Especifica la codificación de certificados X.509 .

[in] pbEncoded

Puntero a un BLOB codificado de CERT_SIGNED_CONTENT_INFO contenido en el que se va a comprobar la firma.

[in] cbEncoded

Tamaño, en bytes, del contenido codificado en pbEncoded.

[in] pPublicKey

Puntero a una estructura de CERT_PUBLIC_KEY_INFO que contiene la clave pública que se va a usar al comprobar la firma.

Valor devuelto

Devuelve un valor distinto de cero si es correcto o cero de lo contrario.

Para obtener información de error extendida, llame a GetLastError.

Nota Los errores de las funciones llamadas CryptCreateHash, CryptImportKey, CryptVerifySignature y CryptHashData se pueden propagar a esta función.
 
Si se produce un error, esta función hará que se devuelvan los siguientes códigos de error desde GetLastError.
Código devuelto Descripción
ERROR_FILE_NOT_FOUND
Tipo de codificación de certificado no válido. Actualmente solo se admite X509_ASN_ENCODING .
NTE_BAD_ALGID
El identificador de objeto (OID) del algoritmo de firma no se asigna a un algoritmo hash conocido o compatible.
NTE_BAD_SIGNATURE
La firma no era válida.
 

Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta Uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación/descodificación de ASN.1.

Comentarios

Esta función llama actualmente a la función CryptVerifyCertificateSignatureEx para realizar la comprobación.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptVerifyCertificateSignatureEx