SslGenerateMasterKey fonction)
La fonction SslGenerateMasterKey calcule la clé de secret principal du protocole SSL (Secure Sockets Layer) (SSL).
Syntaxe
SECURITY_STATUS WINAPI SslGenerateMasterKey(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hPrivateKey,
_In_ NCRYPT_KEY_HANDLE hPublicKey,
_Out_ NCRYPT_KEY_HANDLE *phMasterKey,
_In_ DWORD dwProtocol,
_In_ DWORD dwCipherSuite,
_In_ PNCryptBufferDesc pParameterList,
_Out_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_Out_ DWORD *pcbResult,
_In_ DWORD dwFlags
);
Paramètres
-
hSslProvider [ dans]
-
Handle de l’instance du fournisseur de protocole SSL.
-
hPrivateKey [ dans]
-
Handle de la clé privée utilisée dans l’échange.
-
hPublicKey [ dans]
-
Handle de la clé publique utilisée dans l’échange.
-
phMasterKey [ à]
-
Pointeur vers le handle de la clé principalegénérée.
-
dwProtocol [ dans]
-
L’une des valeurs d' identificateur de protocole du fournisseur SSL CNG .
-
dwCipherSuite [ dans]
-
L’une des valeurs d’identificateur de la suite de chiffrement du fournisseur SSL CNG .
-
pParameterList [ dans]
-
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 du protocole et de la suite de chiffrement utilisés. Au minimum, la liste contient des mémoires tampons qui contiennent les valeurs aléatoires fournies par le client et le serveur.
-
pbOutput [ à]
-
Adresse d’une mémoire tampon qui reçoit le secret de prémaster chiffré avec la clé publique du serveur. Le paramètre cbOutput contient la taille de cette mémoire tampon. Si ce paramètre a la valeur null, cette fonction retourne la taille requise, en octets, dans la valeur DWORD pointée par le paramètre pcbResult .
Notes
Ce tampon est utilisé lors de l’exécution d’un échange de clés RSA.
-
cbOutput [ dans]
-
Taille, en octets, de la mémoire tampon pbOutput .
-
pcbResult [ à]
-
Pointeur vers une valeur DWORD dans laquelle placer le nombre d’octets écrits dans la mémoire tampon pbOutput .
-
dwFlags [ dans]
-
Spécifie si cette fonction est utilisée pour l’échange de clés côté client ou côté serveur.
Valeur Signification - NCRYPT _ _ _ Indicateur client SSL
- 0x00000001
Spécifie un échange de clés côté client. - NCRYPT _ _ _ Indicateur de serveur SSL
- 0x00000002
Spécifie un échange de clés côté serveur.
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 |
|---|---|
|
La mémoire disponible est insuffisante pour allouer les tampons nécessaires. |
|
L’un des handles fournis n’est pas valide. |
|
Le paramètre phMasterKey ou hPublicKey n’est pas valide. |
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
applications de [ bureau Windows Vista uniquement] |
| Serveur minimal pris en charge |
applications de bureau Windows Server 2008 [ uniquement] |
| En-tête |
|
| DLL |
|