PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE funzione di callback (d3dumddi.h)
La funzione AuthenticatedChannelKeyExchange negozia la chiave di sessione.
Sintassi
PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE Pfnd3dddiAuthenticatedchannelkeyexchange;
HRESULT Pfnd3dddiAuthenticatedchannelkeyexchange(
HANDLE hDevice,
D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE *unnamedParam2
)
{...}
Parametri
hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in, out]
Puntatore a una struttura D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE che descrive un buffer contenente la chiave di sessione utilizzata dal canale autenticato.
Valore restituito
AuthenticatedChannelKeyExchange restituisce uno dei valori seguenti:
codice restituito | Descrizione |
---|---|
S_OK | La chiave di sessione viene negoziata correttamente. |
E_OUTOFMEMORY | AuthenticatedChannelKeyExchange non è stato possibile allocare la memoria necessaria per il completamento. |
Osservazioni
Il membro pData nella struttura D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE punta a un buffer contenente una chiave privata che un'applicazione precedentemente crittografata RSAES-OAEP con la chiave pubblica dal certificato del canale autenticato del driver. Le dimensioni effettive del buffer sono di 256 byte. Questo scambio è identico al funzionamento dello scambio di chiavi (OPM) di 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 il canale autenticato.
Il driver decrittografa questa chiave privata e usa la chiave privata nelle chiamate al driver ConfigureAuthenticatedChannel e QueryAuthenticatedChannel funzioni per calcolare i codici di autenticazione dei messaggi in modalità CBC (Cipher Block Chaining) a chiave singola.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | AuthenticatedChannelKeyExchange è supportato a partire dal sistema operativo Windows 7. |
piattaforma di destinazione | Desktop |
intestazione | d3dumddi.h (include D3dumddi.h) |