BCryptImportKeyPair, fonction (bcrypt.h)
La fonction
Syntaxe
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
);
Paramètres
[in] hAlgorithm
Handle du fournisseur d’algorithmes à importer la clé. Ce handle est obtenu en appelant la fonction BCryptOpenAlgorithmProvider.
[in, out] hImportKey
Ce paramètre n’est actuellement pas utilisé et doit être NULL.
[in] pszBlobType
Chaîne Unicode terminée par null qui contient un identificateur qui spécifie le type d’objet BLOB contenu dans la mémoire tampon pbInput. Il peut s’agir de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Le BLOB est une paire de clés publique/privée Diffie-Hellman BLOB. La mémoire tampon pbInput doit contenir une structure BCRYPT_DH_KEY_BLOB immédiatement suivie des données clés. |
|
L’objet BLOB est un Diffie-Hellman blob de clé publique. La mémoire tampon pbInput doit contenir une structure BCRYPT_DH_KEY_BLOB immédiatement suivie des données clés. |
|
L’objet BLOB est une paire de clés publique/privée DSA. La mémoire tampon pbInput Windows 8 : prise en charge de BCRYPT_DSA_KEY_BLOB_V2 commence. |
|
L’objet BLOB est un objet BLOB de clé publique DSA. La mémoire tampon pbInput Windows 8 : prise en charge de BCRYPT_DSA_KEY_BLOB_V2 commence. |
|
L’objet BLOB est un chiffrement de courbe elliptique (ECC) clé privée. La mémoire tampon pbInput doit contenir une structure BCRYPT_ECCKEY_BLOB immédiatement suivie des données clés. |
|
L’objet BLOB est une clé publique ECC. La mémoire tampon pbInput doit contenir une structure BCRYPT_ECCKEY_BLOB immédiatement suivie des données clés. |
|
L’objet BLOB est une clé publique générique de n’importe quel type. Le type de clé dans cet objet BLOB est déterminé par le membre magic |
|
L’objet BLOB est une clé privée générique de n’importe quel type. La clé privée ne contient pas nécessairement la clé publique. Le type de clé dans cet objet BLOB est déterminé par le membre magic |
|
L’objet BLOB est une paire de clés publique/privée RSA. La mémoire tampon pbInput doit contenir une structure BCRYPT_RSAKEY_BLOB immédiatement suivie des données clés. |
|
Le BLOB est un objet BLOB de clé publique RSA. La mémoire tampon pbInput doit contenir une structure BCRYPT_RSAKEY_BLOB immédiatement suivie des données clés. |
|
Le BLOB est un objet BLOB de clé publique Diffie-Hellman qui a été exporté à l’aide de CryptoAPI. Le fournisseur primitif Microsoft ne prend pas en charge l’importation de ce type BLOB. |
|
L’objet BLOB est un objet blob de clé privée Diffie-Hellman version 3 héritée qui contient une paire de clés publique/privée Diffie-Hellman exportée à l’aide de CryptoAPI. |
|
Le BLOB est une paire de clés publique/privée DSA exportée à l’aide de CryptoAPI. |
|
Le BLOB est un objet BLOB de clé publique DSA qui a été exporté à l’aide de CryptoAPI. Le fournisseur primitif Microsoft ne prend pas en charge l’importation de ce type BLOB. |
|
L’objet BLOB est une clé privée DSA version 2 dans un formulaire qui peut être importé à l’aide de CryptoAPI. |
|
Le BLOB est une paire de clés publique/privée RSA qui a été exportée à l’aide de CryptoAPI. |
|
Le BLOB est un OBJET BLOB de clé publique RSA qui a été exporté à l’aide de CryptoAPI. Le fournisseur primitif Microsoft ne prend pas en charge l’importation de ce type BLOB. |
[out] phKey
Pointeur vers un BCRYPT_KEY_HANDLE qui reçoit le handle de la clé importée. Ce handle est utilisé dans les fonctions suivantes qui nécessitent une clé, telle que BCryptSignHash. Ce handle doit être libéré lorsqu’il n’est plus nécessaire en le transmettant à la fonction BCryptDestroyKey.
[in] pbInput
Adresse d’une mémoire tampon qui contient le blob de clé
[in] cbInput
Taille, en octets, de la mémoire tampon pbInput
[in] dwFlags
Ensemble d’indicateurs qui modifient le comportement de cette fonction. Il peut s’agir de zéro ou de la valeur suivante.
Valeur | Signification |
---|---|
|
Ne validez pas la partie publique de la paire de clés. |
Valeur de retour
Retourne un code d’état qui indique la réussite ou l’échec de la fonction.
Les codes de retour possibles incluent, mais ne sont pas limités à, les éléments suivants.
Retourner le code | Description |
---|---|
|
La fonction a réussi. |
|
Le handle d’algorithme dans le paramètre hAlgorithm n’est pas valide. |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
Le fournisseur d’algorithmes spécifié par le paramètre hAlgorithm ne prend pas en charge le type BLOB spécifié par le paramètre pszBlobType. |
Remarques
Selon les modes de processeur pris en charge par un fournisseur, BCryptImportKeyPair peut être appelé en mode utilisateur ou en mode noyau. Les appelants en mode noyau peuvent s’exécuter à PASSIVE_LEVEL IRQL ou DISPATCH_LEVEL IRQL. Si le niveau IRQL actuel est
Pour appeler cette fonction en mode noyau, utilisez Cng.lib, qui fait partie du Kit de développement de pilotes (DDK). Windows Server 2008 et Windows Vista : Pour appeler cette fonction en mode noyau, utilisez Ksecdd.lib.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | bcrypt.h |
bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |