SslCreateClientAuthHash function

The SslCreateClientAuthHash function retrieves a handle to the handshake hash that is used for client authentication.

Syntax

SECURITY_STATUS WINAPI SslCreateClientAuthHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _Out_ NCRYPT_HASH_HANDLE *phHandshakeHash,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  LPCWSTR            pszHashAlgId,
  _In_  DWORD              dwFlags
);

Parameters

hSslProvider [in]

The handle of the Secure Sockets Layer protocol (SSL) protocol provider instance.

phHandshakeHash [out]

A pointer to an NCRYPT_HASH_HANDLE variable to receive the hash handle.

dwProtocol [in]

One of the CNG SSL Provider Protocol Identifier values.

dwCipherSuite [in]

One of the CNG SSL Provider Cipher Suite Identifier values.

pszHashAlgId [in]

One of the CNG Algorithm Identifiers values.

dwFlags [in]

This parameter is reserved for future use and must be set to zero.

Return value

If the function succeeds, it returns zero.

If the function fails, it returns a nonzero error value.

Possible return codes include, but are not limited to, the following.

Return code/value Description
NTE_INVALID_HANDLE
0x80090026L
The hSslProvider parameter contains a pointer that is not valid.
NTE_INVALID_PARAMETER
0x80090027L
The phHandshakeHash parameter is set to NULL.
NTE_NOT_SUPPORTED
0x80090029L
The selected function is not supported in the specified version of the interface.
NTE_NO_MEMORY
0x8009000EL
Insufficient memory to allocate buffers.
NTE_BAD_FLAGS
0x80090009L
The dwFlags parameter must be set to zero.

Remarks

The SslCreateClientAuthHash function is called for Transport Layer Security protocol (TLS) 1.2 or later conversations to create hash objects that are used to hash handshake messages. It is called once for each possible hashing algorithm that can be used in the client authentication signature.

Requirements

Requirement Value
Minimum supported client
Windows 7 [desktop apps only]
Minimum supported server
Windows Server 2008 R2 [desktop apps only]
Header
Sslprovider.h
DLL
Ncrypt.dll