Função BCryptImportKeyPair (bcrypt.h)
A função BCryptImportKeyPair
Sintaxe
NTSTATUS BCryptImportKeyPair(
[in] BCRYPT_ALG_HANDLE hAlgorithm,
[in, out] BCRYPT_KEY_HANDLE hImportKey,
[in] LPCWSTR pszBlobType,
[out] BCRYPT_KEY_HANDLE *phKey,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[in] ULONG dwFlags
);
Parâmetros
[in] hAlgorithm
O identificador do provedor de algoritmo para importar a chave. Esse identificador é obtido chamando a função
[in, out] hImportKey
Esse parâmetro não é usado no momento e deve ser NULL.
[in] pszBlobType
Uma cadeia de caracteres Unicode terminada em nulo que contém um identificador que especifica o tipo de BLOB contido no buffer pbInput. Esse pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
O BLOB é um BLOB Diffie-Hellman par de chaves pública/privada. O buffer de pbInput deve conter uma estrutura de BCRYPT_DH_KEY_BLOB imediatamente seguida pelos dados de chave. |
|
O BLOB é um blob de chave pública Diffie-Hellman . O buffer de pbInput deve conter uma estrutura de BCRYPT_DH_KEY_BLOB imediatamente seguida pelos dados de chave. |
|
O BLOB é um BLOB de par de chaves pública/privada da DSA. O buffer pbInput Windows 8: começa o suporte para BCRYPT_DSA_KEY_BLOB_V2. |
|
O BLOB é um BLOB de chave pública DSA. O buffer pbInput Windows 8: começa o suporte para BCRYPT_DSA_KEY_BLOB_V2. |
|
O BLOB é um de criptografia de curva elíptica (ECC) de chave privada. O buffer pbInput deve conter uma estrutura BCRYPT_ECCKEY_BLOB imediatamente seguida pelos dados de chave. |
|
O BLOB é uma chave pública ECC. O buffer pbInput deve conter uma estrutura BCRYPT_ECCKEY_BLOB imediatamente seguida pelos dados de chave. |
|
O BLOB é uma chave pública genérica de qualquer tipo. O tipo de chave neste BLOB é determinado pelo membro Magic da estrutura BCRYPT_KEY_BLOB. |
|
O BLOB é uma chave privada genérica de qualquer tipo. A chave privada não contém necessariamente a chave pública. O tipo de chave neste BLOB é determinado pelo membro Magic da estrutura BCRYPT_KEY_BLOB. |
|
O BLOB é um BLOB de par de chaves pública/privada RSA. O buffer de pbInput |
|
O BLOB é um BLOB de chave pública RSA. O buffer de pbInput |
|
O BLOB é um BLOB de chave pública Diffie-Hellman que foi exportado usando cryptoAPI. O provedor primitivo da Microsoft não dá suporte à importação desse tipo de BLOB. |
|
O BLOB é um blob de chave privada da versão 3 do |
|
O BLOB é um BLOB de par de chaves pública/privada da DSA que foi exportado usando CryptoAPI. |
|
O BLOB é um BLOB de chave pública DSA que foi exportado usando CryptoAPI. O provedor primitivo da Microsoft não dá suporte à importação desse tipo de BLOB. |
|
O BLOB é uma chave privada DSA versão 2 em um formulário que pode ser importado usando CryptoAPI. |
|
O BLOB é um BLOB de par de chaves pública/privada RSA que foi exportado usando CryptoAPI. |
|
O BLOB é um BLOB de chave pública RSA que foi exportado usando CryptoAPI. O provedor primitivo da Microsoft não dá suporte à importação desse tipo de BLOB. |
[out] phKey
Um ponteiro para um BCRYPT_KEY_HANDLE que recebe o identificador da chave importada. Esse identificador é usado em funções subsequentes que exigem uma chave, como BCryptSignHash. Esse identificador deve ser liberado quando não for mais necessário, passando-o para a função BCryptDestroyKey
[in] pbInput
O endereço de um buffer que contém a chave BLOB importar. O parâmetro cbInput contém o tamanho desse buffer. O parâmetro pszBlobType especifica o tipo de blob de chave que esse buffer contém.
[in] cbInput
O tamanho, em bytes, do buffer de de
[in] dwFlags
Um conjunto de sinalizadores que modificam o comportamento dessa função. Isso pode ser zero ou o valor a seguir.
Valor | Significado |
---|---|
|
Não valide a parte pública do par de chaves. |
Valor de retorno
Retorna um código de 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 |
|
Um ou mais parâmetros não são válidos. |
|
O provedor de algoritmo especificado pelo parâmetro |
Observações
Dependendo de quais modos de processador um provedor dá suporte, BCryptImportKeyPair 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
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 |
---|---|
de cliente com suporte mínimo | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino |
Windows |
cabeçalho | bcrypt.h |
biblioteca | Bcrypt.lib |
de DLL |
Bcrypt.dll |
Consulte também
BCryptExportKey