Função CryptMsgSignCTL (wincrypt.h)
A função CryptMsgSignCTL cria uma mensagem assinada que contém uma CTL codificada.
Sintaxe
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 o tipo de codificação usado. É sempre aceitável especificar os tipos de codificação de certificado e mensagem combinando-os com uma operação OR bit a bit, conforme mostrado no exemplo a seguir:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Os tipos de codificação definidos no momento são:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCtlContent
O CTL_INFO codificado que pode ser membro de uma estrutura CTL_CONTEXT ou pode ser criado usando a função CryptEncodeObject .
[in] cbCtlContent
O tamanho, em bytes, do conteúdo apontado por pbCtlContent.
[in] pSignInfo
Um ponteiro para uma estrutura CMSG_SIGNED_ENCODE_INFO que contém uma matriz de estruturas de CMSG_SIGNER_ENCODE_INFO .
A mensagem poderá ser codificada sem signatários se o membro cbSize da estrutura estiver definido como o tamanho da estrutura e todos os outros membros estiverem definidos como zero.
[in] dwFlags
Se CMS_PKCS7 for definido, poderá ser definido como CMSG_CMS_ENCAPSULATED_CTL_FLAG para codificar uma mensagem SignedData V3 compatível com CMS.
[out] pbEncoded
Um ponteiro para um buffer para receber a mensagem codificada.
Esse parâmetro pode ser NULL para obter o tamanho dessas informações para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbEncoded
Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer pbEncoded . Quando a função retorna, o DWORD contém o número de bytes armazenados ou a serem armazenados no buffer.
Retornar valor
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError. Essa função pode retornar erros propagados de chamadas para CryptMsgOpenToEncode e CryptMsgUpdate.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |