Partager via


SslExportKeyingMaterial, fonction

Exporte des matériaux de clé par norme RFC 5705. Cette fonction utilise la fonction pseudorandom TLS pour produire une mémoire tampon d’octets du matériel de keying. Il prend une référence au secret principal, à l’étiquette ASCII déambiguante, aux valeurs aléatoires client et serveur, et éventuellement aux données de contexte d’application.

Syntaxe

SECURITY_STATUS WINAPI SslExportKeyingMaterial(
  _In_     NCRYPT_PROV_HANDLE hSslProvider,
  _In_     NCRYPT_KEY_HANDLE  hMasterKey,
  _In_     PCHAR              sLabel,
  _In_     PBYTE              pbRandoms,
  _In_     DWORD              cbRandoms,
  _In_opt_ PBYTE              pbContextValue,
  _In_     WORD               cbContextValue,
  _Out_    PBYTE              pbOutput,
  _In_     DWORD              cbOutput,
  _In_     DWORD              dwFlags
);

Paramètres

hSslProvider [in]

Handle de l’instance du fournisseur de protocole TLS.

hMasterKey [in]

Handle de l’objet clé principale qui sera utilisé pour créer le matériel de keying à exporter.

sLabel [in]

chaîne d’étiquette ASCII terminée par NUL. Schannel supprime le caractère NUL de fin avant de le transmettre à la fonction pseudorandom.

pbRandoms [in]

Pointeur vers une mémoire tampon qui contient une concaténation des valeurs client_random et server_random de la connexion TLS.

cbRandoms [in]

Longueur, en octets, de la mémoire tampon pbRandoms .

pbContextValue [in, facultatif]

Pointeur vers une mémoire tampon qui contient le contexte d’application. Si pbContextValue est NULL, cbContextValue doit être zéro.

cbContextValue [in]

Longueur, en octets, de la mémoire tampon pbContextValue .

pbOutput [out]

Adresse d’une mémoire tampon qui reçoit le matériel de keying exporté. Le paramètre cbOutput contient la taille de cette mémoire tampon. Cette valeur ne peut pas être NULL.

cbOutput [in]

Longueur, en octets, de la mémoire tampon pbOutput . Doit être supérieur à zéro.

dwFlags [in]

Non utilisé. Doit être défini sur zéro.

Valeur retournée

Si la fonction réussit, elle retourne zéro.

Si la fonction échoue, elle retourne une valeur d’erreur non nulle.

Les codes de retour possibles incluent, mais ne sont pas limités à, les éléments suivants.

Code/valeur de retour Description
NTE_INVALID_HANDLE
0x80090026L
L’un des handles fournis n’est pas valide.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 10 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2016 [applications de bureau uniquement]
En-tête
Sslprovider.h
DLL
Ncrypt.dll