Función CryptMsgSignCTL (wincrypt.h)
La función CryptMsgSignCTL crea un mensaje firmado que contiene un CTL codificado.
Sintaxis
BOOL CryptMsgSignCTL(
[in] DWORD dwMsgEncodingType,
[in] BYTE *pbCtlContent,
[in] DWORD cbCtlContent,
[in] PCMSG_SIGNED_ENCODE_INFO pSignInfo,
[in] DWORD dwFlags,
[out] BYTE *pbEncoded,
[in, out] DWORD *pcbEncoded
);
Parámetros
[in] dwMsgEncodingType
Especifica el tipo de codificación utilizado. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes mediante su combinación con una operación OR bit a bit, como se muestra en el ejemplo siguiente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Los tipos de codificación definidos actualmente son:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCtlContent
El CTL_INFO codificado que puede ser miembro de una estructura de CTL_CONTEXT o se puede crear mediante la función CryptEncodeObject .
[in] cbCtlContent
Tamaño, en bytes, del contenido al que apunta pbCtlContent.
[in] pSignInfo
Puntero a una estructura de CMSG_SIGNED_ENCODE_INFO que contiene una matriz de estructuras de CMSG_SIGNER_ENCODE_INFO .
El mensaje se puede codificar sin firmantes si el miembro cbSize de la estructura se establece en el tamaño de la estructura y todos los demás miembros se establecen en cero.
[in] dwFlags
Si se define CMS_PKCS7, se puede establecer en CMSG_CMS_ENCAPSULATED_CTL_FLAG para codificar un mensaje SignedData compatible con CMS.
[out] pbEncoded
Puntero a un búfer para recibir el mensaje codificado.
Este parámetro puede ser NULL para obtener 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] pcbEncoded
Puntero a un DWORD que especifica el tamaño, en bytes, del búfer pbEncoded . Cuando se devuelve la función, DWORD contiene el número de bytes almacenados o que se almacenarán en el búfer.
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. Esta función puede devolver errores propagados desde llamadas a CryptMsgOpenToEncode y CryptMsgUpdate.
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 |