Partager via


SslImportMasterKey, fonction

La fonction SslImportMasterKey effectue une opération d’échange de clés SSL côté serveur .

Syntaxe

SECURITY_STATUS WINAPI SslImportMasterKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hPrivateKey,
  _Out_ NCRYPT_KEY_HANDLE  *phMasterKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  PNCryptBufferDesc  pParameterList,
  _In_  PBYTE              pbEncryptedKey,
  _In_  DWORD              cbEncryptedKey,
  _In_  DWORD              dwFlags
);

Paramètres

hSslProvider [in]

Handle du fournisseur de protocole SSL instance.

hPrivateKey [in]

Handle de la clé privée utilisée dans l’échange.

phMasterKey [out]

Pointeur vers le handle pour recevoir la clé master.

dwProtocol [in]

Une des valeurs de l’identificateur de protocole de fournisseur SSL CNG .

dwCipherSuite [in]

Une des valeurs des identificateurs de suite de chiffrement du fournisseur SSL CNG .

pParameterList [in]

Pointeur vers un tableau de mémoires tampons NCryptBuffer qui contiennent des informations utilisées dans le cadre de l’opération d’échange de clés. L’ensemble précis de mémoires tampons dépend de la suite de protocole et de chiffrement utilisée. Au minimum, la liste contient des mémoires tampons qui contiennent les valeurs aléatoires fournies par le client et le serveur.

pbEncryptedKey [in]

Pointeur vers une mémoire tampon qui contient la clé secrète prémaster chiffrée avec la clé publique du serveur.

cbEncryptedKey [in]

Taille, en octets, de la mémoire tampon pbEncryptedKey .

dwFlags [in]

Définissez ce paramètre sur NCRYPT_SSL_SERVER_FLAG pour indiquer qu’il s’agit d’un appel de serveur.

Valeur retournée

Si la fonction réussit, 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, sans s’y limiter, les éléments suivants.

Code/valeur de retour Description
NTE_NO_MEMORY
0x8009000EL
La mémoire disponible est insuffisante pour allouer les mémoires tampons nécessaires.
NTE_INVALID_HANDLE
0x80090026L
L’un des handles fournis n’est pas valide.
NTE_INVALID_PARAMETER
0x80090027L
Le paramètre phMasterKey est NULL.

Notes

Cette fonction déchiffre le secret prémaster, calcule le secret SSL master et retourne un handle à cet objet à l’appelant. Cette clé master peut ensuite être utilisée pour dériver la clé de session SSL et terminer la négociation SSL.

Notes

Cette fonction est utilisée lorsque l’algorithme d’échange de clés RSA est utilisé. Lorsque DH est utilisé, le code du serveur appelle SslGenerateMasterKey à la place.

Spécifications

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