Função BCryptGenerateKeyPair (bcrypt.h)
A função BCryptGenerateKeyPair cria um par de chaves pública/privada vazia. Depois de criar uma chave usando essa função, você pode usar a função BCryptSetProperty para definir suas propriedades; no entanto, a chave não pode ser usada até que a função BCryptFinalizeKeyPair seja chamada.
Sintaxe
NTSTATUS BCryptGenerateKeyPair(
[in, out] BCRYPT_ALG_HANDLE hAlgorithm,
[out] BCRYPT_KEY_HANDLE *phKey,
[in] ULONG dwLength,
[in] ULONG dwFlags
);
Parâmetros
[in, out] hAlgorithm
Identificador de um provedor de algoritmos que dá suporte à assinatura, criptografia assimétrica ou contrato de chave. Esse identificador deve ter sido criado usando a função BCryptOpenAlgorithmProvider .
[out] phKey
Um ponteiro para um BCRYPT_KEY_HANDLE que recebe o identificador da chave. Esse identificador é usado em funções subsequentes que exigem uma chave, como BCryptEncrypt. Esse identificador deve ser liberado quando não for mais necessário passando-o para a função BCryptDestroyKey .
[in] dwLength
O comprimento, em bits, da chave. Os provedores de algoritmo têm restrições de tamanho de chave diferentes para cada algoritmo assimétrico padrão.
[in] dwFlags
Um conjunto de sinalizadores que modificam o comportamento dessa função. Nenhum sinalizador está definido no momento, portanto, esse parâmetro deve ser zero.
Retornar valor
Retorna um código status que indica o êxito ou a falha da função.
Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.
Código de retorno | Descrição |
---|---|
|
A função foi bem-sucedida. |
|
O identificador de algoritmo no parâmetro hAlgorithm não é válido. |
|
Um ou mais dos parâmetros não são válidos. |
|
O provedor especificado não dá suporte à criptografia de chave assimétrica. |
Comentários
Dependendo de quais modos de processador um provedor dá suporte, BCryptGenerateKeyPair pode ser chamado do modo de usuário ou do modo kernel. Os chamadores do modo kernel podem ser executados em PASSIVE_LEVELIRQL ou DISPATCH_LEVEL IRQL. Se o nível IRQL atual for DISPATCH_LEVEL, o identificador fornecido no parâmetro hAlgorithm deverá ter sido aberto usando o sinalizador BCRYPT_PROV_DISPATCH e quaisquer ponteiros passados para a função BCryptGenerateKeyPair deverão se referir à memória nãopagada (ou bloqueada).
Para chamar essa função no modo kernel, use Cng.lib, que faz parte do DDK (Driver Development Kit). Windows Server 2008 e Windows Vista: Para chamar essa função no modo kernel, use Ksecdd.lib.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | bcrypt.h |
Biblioteca | Bcrypt.lib |
DLL | Bcrypt.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