PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE fonction de rappel (d3dumddi.h)
La fonction CryptoSessionKeyExchange négocie une clé de session.
Syntaxe
PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;
HRESULT Pfnd3dddiCryptosessionkeyexchange(
HANDLE hDevice,
D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}
Paramètres
hDevice
Handle de l’appareil d’affichage (contexte graphique).
unnamedParam2
pData [in, out]
Pointeur vers une structure D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE qui décrit une clé de session utilisée pour le chiffrement.
Valeur retournée
CryptoSessionKeyExchange retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
S_OK | La clé de session est correctement échangée. |
E_OUTOFMEMORY | CryptoSessionKeyExchange n’a pas pu allouer la mémoire nécessaire pour qu’elle se termine. |
Remarques
Le pilote ne doit prendre en charge qu’un seul mécanisme d’échange de clés pour chaque type de chiffrement. Microsoft a standardisé le type d’échange de clés D3DKEYEXCHANGE_RSAES_OAEP. Toutefois, les fournisseurs de matériel peuvent utiliser des mécanismes d’échange de clés propriétaires.
Par D3DKEYEXCHANGE_RSAES_OAEP, le membre pData de la structure D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE pointe vers une mémoire tampon qui contient la clé de session qu’une application a précédemment chiffrée avec la clé publique à partir du certificat de session de chiffrement du pilote. La taille réelle de la mémoire tampon est de 256 octets. Cet échange est identique au fonctionnement de l’échange de clés De sortie Protection Manager (OPM), sauf que la mémoire tampon OPM contient des données supplémentaires en plus de la clé de session. Le même certificat que celui utilisé pour l’échange de clés OPM peut être utilisé pour l’échange de clés D3DKEYEXCHANGE_RSAES_OAEP.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | CryptoSessionKeyExchange est pris en charge à partir du système d’exploitation Windows 7. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dumddi.h (inclure D3dumddi.h) |