Función CryptSignMessageWithKey (wincrypt.h)
La función CryptSignMessageWithKey firma un mensaje mediante la clave privada de un CSP especificada en los parámetros. Se crea un signerId de marcador de posición y se almacena en el mensaje.
Sintaxis
BOOL CryptSignMessageWithKey(
[in] PCRYPT_KEY_SIGN_MESSAGE_PARA pSignPara,
[in] const BYTE *pbToBeSigned,
[in] DWORD cbToBeSigned,
[out] BYTE *pbSignedBlob,
[in, out] DWORD *pcbSignedBlob
);
Parámetros
[in] pSignPara
Puntero a una estructura CRYPT_KEY_SIGN_MESSAGE_PARA que contiene los parámetros de firma.
[in] pbToBeSigned
Puntero a una matriz de búfer que contiene el mensaje que se va a firmar.
[in] cbToBeSigned
Número de elementos de matriz en la matriz de búfer pbToBeSigned .
[out] pbSignedBlob
Puntero a un búfer para recibir el mensaje firmado codificado.
Este parámetro puede ser NULL para establecer el tamaño de esta información con fines de asignación de memoria. Para obtener más información, vea Recuperación de datos de longitud desconocida.
[in, out] pcbSignedBlob
Puntero a un valor DWORD que indica el tamaño, en bytes, del búfer pbSignedBlob . Cuando se devuelve la función, esta variable contiene el tamaño, en bytes, del mensaje firmado y codificado.
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 normalmente por la función GetLastError .
Código devuelto | Descripción |
---|---|
|
Si el búfer especificado por el parámetro pbSignedBlob no es lo suficientemente grande como para contener los datos devueltos, la función establece el código ERROR_MORE_DATA y almacena el tamaño de búfer necesario, en bytes, en la variable a la que apunta pcbSignedBlob. |
|
El tipo de codificación de mensajes no es válido. Actualmente solo se admiten PKCS_7_ASN_ENCODING. CbSize en *pSignPara no es válido. |
|
PSigningCert en *pSignPara no tiene una propiedad CERT_KEY_PROV_INFO_PROP_ID ni CERT_KEY_CONTEXT_PROP_ID. |
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 |