PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE funzione di callback (d3dumddi.h)
La funzione CryptoSessionKeyExchange negozia una chiave di sessione.
Sintassi
PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;
HRESULT Pfnd3dddiCryptosessionkeyexchange(
HANDLE hDevice,
D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}
Parametri
hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in, out]
Puntatore a una struttura D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE che descrive una chiave di sessione usata per la crittografia.
Valore restituito
CryptoSessionKeyExchange restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | La chiave di sessione viene scambiata correttamente. |
E_OUTOFMEMORY | CryptoSessionKeyExchange non è riuscito a allocare la memoria necessaria per il completamento. |
Commenti
Il driver deve supportare solo un singolo meccanismo di scambio delle chiavi per ogni tipo di crittografia. Microsoft ha standardizzato il tipo di scambio delle chiavi D3DKEYEXCHANGE_RSAES_OAEP. Tuttavia, i fornitori di hardware possono usare meccanismi di scambio delle chiavi proprietari.
Per D3DKEYEXCHANGE_RSAES_OAEP, il membro pData della struttura D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE punta a un buffer che contiene la chiave di sessione che un'applicazione in precedenza RSAES-OAEP crittografata con la chiave pubblica dal certificato di sessione di crittografia del driver. Le dimensioni effettive del buffer sono 256 byte. Questo scambio è identico al funzionamento dello scambio di chiavi OPM ( Output Protection Manager ), ad eccezione del buffer OPM che contiene dati aggiuntivi oltre alla chiave di sessione. Lo stesso certificato usato per lo scambio di chiavi OPM può essere usato per lo scambio di chiavi D3DKEYEXCHANGE_RSAES_OAEP.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | CryptoSessionKeyExchange è supportato a partire dal sistema operativo Windows 7. |
Piattaforma di destinazione | Desktop |
Intestazione | d3dumddi.h (include D3dumddi.h) |