Função CryptCreateKeyIdentifierFromCSP (wincrypt.h)
Essa função converte um PUBLICKEYSTRUC de um CSP em uma estrutura X.509CERT_PUBLIC_KEY_INFO e a codifica. A estrutura codificada é então hash com o algoritmo SHA1 para obter o identificador de chave.
Sintaxe
BOOL CryptCreateKeyIdentifierFromCSP(
[in] DWORD dwCertEncodingType,
[in] LPCSTR pszPubKeyOID,
[in] const PUBLICKEYSTRUC *pPubKeyStruc,
[in] DWORD cbPubKeyStruc,
[in] DWORD dwFlags,
[in] void *pvReserved,
[out] BYTE *pbHash,
[in, out] DWORD *pcbHash
);
Parâmetros
[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] pszPubKeyOID
Um ponteiro para o OID ( identificador de objeto de chave pública). Um valor que não é NULL substitui o OID padrão obtido do membro aiKeyAlg da estrutura apontada por pPubKeyStruc. Para usar o OID padrão, defina pszPubKeyOID como NULL.
[in] pPubKeyStruc
Um ponteiro para uma estrutura PUBLICKEYSTRUC . No caso padrão, o membro aiKeyAlg da estrutura apontada por pPubKeyStruc é usado para localizar o OID de chave pública. Quando o valor de pszPubKeyOID não é NULL, ele substitui o padrão.
[in] cbPubKeyStruc
O tamanho, em bytes, do PUBLICKEYSTRUC.
[in] dwFlags
Reservado para uso futuro e deve ser zero.
[in] pvReserved
Reservado para uso futuro e deve ser NULL.
[out] pbHash
Um ponteiro para um buffer para receber o hash da chave pública e o identificador de chave.
Para obter o tamanho dessas informações para fins de alocação de memória, defina esse parâmetro como NULL. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbHash
Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer apontado pelo parâmetro pbHash . Quando a função retorna, o DWORD contém o número de bytes armazenados no buffer. Usando o hash SHA1, o comprimento do buffer necessário é vinte.
Retornar valor
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.
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 |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de