PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE funzione di callback (d3dumddi.h)
La funzione AuthenticationdChannelKeyExchange 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
AuthenticationdChannelKeyExchange restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | La chiave di sessione viene negoziata correttamente. |
E_OUTOFMEMORY | AuthenticationdChannelKeyExchange non è riuscito a allocare la memoria necessaria per il completamento. |
Commenti
Il membro pData nella struttura D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE punta a un buffer che contiene una chiave privata che un'applicazione in precedenza RSAES-OAEP crittografata con la chiave pubblica dal certificato del canale autenticato dal 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 il canale autenticato.
Il driver decrittografa questa chiave privata e usa la chiave privata nelle chiamate a ConfigureAuthenticatedChannel e QueryAuthenticatedChannel per calcolare i codici di autenticazione dei messaggi in modalità CBC (One-Key Cipher Block Chaining).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | AuthenticationdChannelKeyExchange è supportato a partire dal sistema operativo Windows 7. |
Piattaforma di destinazione | Desktop |
Intestazione | d3dumddi.h (include D3dumddi.h) |