PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE función de devolución de llamada (d3dumddi.h)
La función CryptoSessionKeyExchange negocia una clave de sesión.
Sintaxis
PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;
HRESULT Pfnd3dddiCryptosessionkeyexchange(
HANDLE hDevice,
D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}
Parámetros
hDevice
Identificador del dispositivo de visualización (contexto de gráficos).
unnamedParam2
pData [in, out]
Puntero a una estructura de D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE que describe una clave de sesión que se usa para el cifrado.
Valor devuelto
CryptoSessionKeyExchange devuelve uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
S_OK | La clave de sesión se intercambia correctamente. |
E_OUTOFMEMORY | CryptoSessionKeyExchange no pudo asignar la memoria necesaria para que se complete. |
Comentarios
El controlador solo debe admitir un único mecanismo de intercambio de claves para cada tipo de cifrado. Microsoft ha estandarizado el tipo de intercambio de claves D3DKEYEXCHANGE_RSAES_OAEP. Sin embargo, los proveedores de hardware pueden usar mecanismos de intercambio de claves propietarios.
Para D3DKEYEXCHANGE_RSAES_OAEP, el miembro pData de la estructura de D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE apunta a un búfer que contiene la clave de sesión que una aplicación cifrada anteriormente RSAES-OAEP con la clave pública del certificado de sesión criptográfica del controlador. El tamaño real del búfer es de 256 bytes. Este intercambio es idéntico al funcionamiento del intercambio de claves del Administrador de protección de resultados (OPM), excepto que el búfer de OPM contiene datos adicionales además de la clave de sesión. El mismo certificado que se usa para el intercambio de claves de OPM se puede usar para el intercambio de claves de D3DKEYEXCHANGE_RSAES_OAEP.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | CryptoSessionKeyExchange se admite a partir del sistema operativo Windows 7. |
Plataforma de destino | Escritorio |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |