SEC_CHANNEL_BINDINGS structure (sspi.h)

Specifies channel binding information for a security context.

Syntax

typedef struct _SEC_CHANNEL_BINDINGS {
  unsigned long dwInitiatorAddrType;
  unsigned long cbInitiatorLength;
  unsigned long dwInitiatorOffset;
  unsigned long dwAcceptorAddrType;
  unsigned long cbAcceptorLength;
  unsigned long dwAcceptorOffset;
  unsigned long cbApplicationDataLength;
  unsigned long dwApplicationDataOffset;
} SEC_CHANNEL_BINDINGS, *PSEC_CHANNEL_BINDINGS;

Members

dwInitiatorAddrType

The type of address (for example, HTTP) specified for the client.

cbInitiatorLength

The size, in bytes, of the data that specifies the client address.

dwInitiatorOffset

The number of bytes from the beginning of this structure to the beginning of the data that specifies the client address.

dwAcceptorAddrType

The type of address (for example, SPN) specified for the server.

cbAcceptorLength

The size, in bytes, of the data that specifies the server address.

dwAcceptorOffset

The number of bytes from the beginning of this structure to the beginning of the data that specifies the server address.

cbApplicationDataLength

The size, in bytes, of the channel binding data.

dwApplicationDataOffset

The size, in bytes, of this structure. The channel binding data immediately follows this structure.

Remarks

Schannel sets to zero the value of all members of this structure other than cbApplicationDataLength and dwApplicationDataOffset.

Security support providers (SSPs) other than Schannel should use the values of this structure obtained by a call to the QueryContextAttributes (Schannel) function to pass as a SecBuffer structure of type SECBUFFER_CHANNEL_BINDINGS as one of the buffers in the pInput parameter of a call to the AcceptSecurityContext (General) function.

An security support provider (SSP) other than Schannel should obtain the channel binding information specified by this structure by calling the QueryContextAttributes (Schannel) function on the Schannel context that the client used to authenticate. Pass this channel binding information as a SecBuffer structure of type SECBUFFER_CHANNEL_BINDINGS to the pInput parameter of a call to the AcceptSecurityContext (General) function.

If the value of the ulAttribute parameter of the QueryContextAttributes (Schannel) function is SECPKG_ATTR_UNIQUE_BINDINGS, the channel binding data specified by this structure begins with "tls-unique:".

If the value of the ulAttribute parameter of the QueryContextAttributes (Schannel) function is SECPKG_ATTR_ENDPOINT_BINDINGS, the channel binding data specified by this structure begins with "tls-server-end-point:".

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header sspi.h

See also

QueryContextAttributes (Schannel)

SecPkgContext_Bindings