PFND3D11_1DDI_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE callback function (d3d10umddi.h)
Establishes a session key for an authenticated channel.
Syntax
PFND3D11_1DDI_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE Pfnd3d111DdiNegotiateauthenticatedchannelkeyexchange;
HRESULT Pfnd3d111DdiNegotiateauthenticatedchannelkeyexchange(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
UINT DataSize,
VOID *pData
)
{...}
Parameters
hDevice
A handle to the display device (graphics context).
hCAuthChannel
A handle to an authenticated channel object that was created through a call to the CreateAuthenticatedChannel(D3D11_1) function.
DataSize
The size, in bytes, of the data in the pData array.
pData
A pointer to a byte array that contains the encrypted session key.
Return value
NegotiateAuthenticatedChannelKeyExchange returns one of the following values:
Return code | Description |
---|---|
S_OK | The session key for the authenticated channel was negotiated successfully. |
E_INVALIDARG | Parameters were validated and determined to be incorrect. |
E_OUTOFMEMORY | Memory was not available to complete the operation. |
Remarks
The pData parameter references a buffer that contains a session key for the authenticated channel. This key buffer must contain 256 bytes of data and must be encrypted by using the RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) algorithm with the public key from the authenticated channel certificate.
The key exchange for an authenticated channel is identical to the key exchange for the Output Protection Manager (OPM) interface. However, the OPM key buffer contains additional data besides the session key.
Note
The same certificate can be used for the authenticated channel and OPM session key.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | Windows Server 2012 |
Target Platform | Desktop |
Header | d3d10umddi.h (include D3d10umddi.h) |