Função CryptSignMessageWithKey (wincrypt.h)
A função CryptSignMessageWithKey assina uma mensagem usando uma chave privada do CSP especificada nos parâmetros. Um espaço reservado SignerId é criado e armazenado na mensagem.
Sintaxe
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
Um ponteiro para uma estrutura CRYPT_KEY_SIGN_MESSAGE_PARA que contém os parâmetros de assinatura.
[in] pbToBeSigned
Um ponteiro para uma matriz de buffer que contém a mensagem a ser assinada.
[in] cbToBeSigned
O número de elementos de matriz na matriz de buffer pbToBeSigned .
[out] pbSignedBlob
Um ponteiro para um buffer para receber a mensagem assinada codificada.
Esse parâmetro pode ser NULL para definir 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] pcbSignedBlob
Um ponteiro para um valor DWORD que indica o tamanho, em bytes, do buffer pbSignedBlob . Quando a função retorna, essa variável contém o tamanho, em bytes, da mensagem assinada e codificada.
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.
O seguinte lista os códigos de erro mais comumente retornados pela função GetLastError .
Código de retorno | Descrição |
---|---|
|
Se o buffer especificado pelo parâmetro pbSignedBlob não for grande o suficiente para manter os dados retornados, a função definirá o código ERROR_MORE_DATA e armazenará o tamanho do buffer necessário, em bytes, na variável apontada por pcbSignedBlob. |
|
O tipo de codificação de mensagem não é válido. Atualmente, há suporte apenas para PKCS_7_ASN_ENCODING. O cbSize em *pSignPara não é válido. |
|
O pSigningCert em *pSignPara não tem uma propriedade CERT_KEY_PROV_INFO_PROP_ID ou CERT_KEY_CONTEXT_PROP_ID. |
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 |