SslExportKey fonction)
La fonction SslExportKey retourne une clé de session de protocole SSL (Secure Sockets Layer) (SSL) ou une clé éphémère publique dans un objet BLOBsérialisé.
Syntaxe
SECURITY_STATUS WINAPI SslExportKey(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hKey,
_In_ LPCWSTR pszBlobType,
_Out_opt_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_Out_ DWORD *pcbResult,
_In_ DWORD dwFlags
);
Paramètres
-
hSslProvider [ dans]
-
Handle de l’instance du fournisseur de protocole SSL.
-
HKEY [ dans]
-
Handle de la clé à exporter.
Si vous ne spécifiez pas de clé, affectez la valeur null à ce paramètre.
Notes
Un handle HKEY est obtenu en appelant la fonction SslOpenPrivateKey . Les handles obtenus à partir de la fonction NCryptOpenKey ne sont pas pris en charge.
-
pszBlobType [ dans]
-
Chaîne Unicode terminée par le caractère null qui contient un identificateur spécifiant le type d’objet BLOB à exporter. Il peut s’agir de l’une des valeurs suivantes.
Valeur Signification - _ _ objet BLOB public de BCRYPT DH _
Exportez une clé publiqueDiffie-Hellman. La mémoire tampon pbOutput reçoit une structure d' _ _ _ objet blob de clé de la clé de données BCRYPT immédiatement suivie des données de clé. - _objet BLOB ECCPUBLIC de BCRYPT _
Exportez une clé publique ECC ( Elliptic Curve Cryptography ). La mémoire tampon pbOutput reçoit une structure d' _ _ objet BLOB ECCKEY BCRYPT immédiatement suivie des données de clé. - _ _ objet blob de clé opaque BCRYPT _
Exporter une clé symétrique dans un format spécifique à un fournisseur de services de chiffrement (CSP) unique. Les objets BLOB opaques ne sont pas transférables et doivent être importés à l’aide du même fournisseur de services de chiffrement (CSP) qui a généré l’objet BLOB. - _objet BLOB RSAPUBLIC de BCRYPT _
Exportez une clé publique RSA. La mémoire tampon pbOutput reçoit une structure d' _ _ objet BLOB RSAKEY BCRYPT immédiatement suivie des données de clé. -
pbOutput [ out, facultatif]
-
Adresse d’une mémoire tampon qui reçoit l' objet blob de clé. Le paramètre cbOutput contient la taille de cette mémoire tampon. Si ce paramètre a la valeur null, cette fonction place la taille requise, en octets, dans la valeur DWORD pointée par le paramètre pcbResult .
-
cbOutput [ dans]
-
Taille, en octets, de la mémoire tampon pbOutput .
-
pcbResult [ à]
-
Adresse d’une variable DWORD qui reçoit le nombre d’octets copiés dans la mémoire tampon pbOutput . Si le paramètre pbOutput a la valeur null lorsque la fonction est appelée, la taille requise pour la mémoire tampon pbOutput , en octets, est retournée dans la valeur DWORD désignée par ce paramètre.
-
dwFlags [ dans]
-
Réservé pour un usage futur.
Valeur de retour
Si la fonction est réussie, elle retourne zéro.
Si la fonction échoue, elle retourne une valeur d’erreur différente de zéro.
Les codes de retour possibles incluent, mais ne sont pas limités à, les éléments suivants.
| Code/valeur de retour | Description |
|---|---|
|
L’un des handles fournis n’est pas valide. |
Notes
La fonction SslExportKey facilite le transport des clés de session d’un processus à un autre, ainsi que l’exportation de la partie publique d’une clé éphémère.
Lorsque vous exportez des clés de session, le type d’objet BLOB est opaque, ce qui signifie que le format de l’objet BLOB n’a pas d’importance tant que les fonctions SslExportKey et SslImportKey peuvent l’interpréter.
Lors de l’exportation de la partie publique d’une clé éphémère, le type d’objet BLOB doit être le type approprié, par exemple, l’objet BLOB _ _ public _ ou l' _ _ objet BLOB ECCPUBLIC ncrypt.
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Windows [Applications de bureau Vista uniquement] |
| Serveur minimal pris en charge |
Windows Serveur 2008 [ applications de bureau uniquement] |
| En-tête |
|
| DLL |
|