Função CryptHashToBeSigned (wincrypt.h)
Sintaxe
BOOL CryptHashToBeSigned(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
Parâmetros
[in] hCryptProv
Esse parâmetro não é usado e deve ser definido como NULL.
Windows Server 2003 e Windows XP: Um identificador do provedor de serviços criptográficos (CSP) a ser usado para calcular o hash. O tipo de dados desse parâmetro é HCRYPTPROV.
A menos que haja um motivo forte para passar um provedor criptográfico específico no hCryptProv, zero será passado. A passagem de zero faz com que o provedor padrão RSA ou DSS ( Digital Signature Standard ) seja adquirido antes de fazer operações de hash, verificação de assinatura ou criptografia de destinatário.
[in] dwCertEncodingType
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] pbEncoded
Endereço de um buffer que contém o conteúdo a ser hash. Essa é a forma codificada de um CERT_SIGNED_CONTENT_INFO.
[in] cbEncoded
O tamanho do buffer, em bytes.
[out] pbComputedHash
Um ponteiro para um buffer para receber o hash computado.
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] pcbComputedHash
Um ponteiro para um DWORD que contém o tamanho, em bytes, do buffer apontado pelo parâmetro pbComputedHash . Quando a função retorna, o DWORD contém o número de bytes armazenados no buffer.
Valor retornado
Se a função for bem-sucedida, a função retornará diferente de zero (TRUE).
Se a função falhar, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
Código de retorno | Descrição |
---|---|
|
Se o buffer especificado pelo parâmetro pbComputedHash 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 pcbComputedHash. |
|
Tipo de codificação de certificado inválido. Atualmente, há suporte apenas para X509_ASN_ENCODING. |
|
O OID ( identificador de objeto ) do algoritmo de assinatura não é mapeado para um algoritmo de hash conhecido ou com suporte. |
Se a função falhar, GetLastError poderá retornar um erro de codificação/decodificação de ASN.1 (Abstract Syntax Notation One ). Para obter informações sobre esses erros, consulte Codificação/Decodificação de Valores Retornados do ASN.1.
Requisitos
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 |