Función CryptVerifyDetachedMessageSignature (wincrypt.h)
La función CryptVerifyDetachedMessageSignature comprueba un mensaje firmado que contiene una firma o firmas desasociadas.
Sintaxis
BOOL CryptVerifyDetachedMessageSignature(
[in] PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
[in] DWORD dwSignerIndex,
[in] const BYTE *pbDetachedSignBlob,
[in] DWORD cbDetachedSignBlob,
[in] DWORD cToBeSigned,
[in] const BYTE * [] rgpbToBeSigned,
[in] DWORD [] rgcbToBeSigned,
[out, optional] PCCERT_CONTEXT *ppSignerCert
);
Parámetros
[in] pVerifyPara
Puntero a una estructura de CRYPT_VERIFY_MESSAGE_PARA que contiene los parámetros de verificación.
[in] dwSignerIndex
Índice de la firma que se va a comprobar. Un mensaje puede tener varios firmantes y se puede llamar a esta función repetidamente, cambiando dwSignerIndex para comprobar otras firmas. Si la función devuelve FALSE y GetLastError devuelve CRYPT_E_NO_SIGNER, la llamada anterior recibió el último firmante del mensaje.
[in] pbDetachedSignBlob
Puntero a un BLOB que contiene las firmas de mensaje codificadas.
[in] cbDetachedSignBlob
Tamaño, en bytes, de la firma desasociada.
[in] cToBeSigned
Número de elementos de matriz en rgpbToBeSigned y rgcbToBeSigned.
[in] rgpbToBeSigned
Matriz de punteros a búferes que contienen el contenido que se va a aplicar hash.
[in] rgcbToBeSigned
Matriz de tamaños, en bytes, para los búferes de contenido a los que apunta en rgpbToBeSigned.
[out, optional] ppSignerCert
Puntero a un puntero a una estructura de CERT_CONTEXT de un certificado de firmante. Cuando haya terminado de usar el contexto del certificado, ábrelo llamando a la función CertFreeCertificateContext . No se devolverá un puntero a una estructura de CERT_CONTEXT si este parámetro es NULL.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).
Si se produce un error en la función, el valor devuelto es cero (FALSE).
Para obtener información de error extendida, llame a GetLastError.
A continuación se enumeran los códigos de error devueltos por la función GetLastError .
Código devuelto | Descripción |
---|---|
|
Tipos de codificación de certificados y mensajes no válidos. Actualmente solo se admiten PKCS_7_ASN_ENCODING y X509_ASN_ENCODING_TYPE. CbSize no válido en *pVerifyPara. |
|
No es un mensaje criptográfico firmado. |
|
El mensaje no tiene ningún firmante ni un firmante para el dwSignerIndex especificado. |
|
El mensaje se ha hashizado y firmado mediante un algoritmo desconocido o no admitido. |
|
No se ha comprobado la firma del mensaje. |
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.
Requisitos
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 |