SslComputeClientAuthHash 関数

SslComputeClientAuthHash 関数は、証明書認証時に使用するハッシュを計算します。

構文

SECURITY_STATUS WINAPI SslComputeClientAuthHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hMasterKey,
  _In_  NCRYPT_HASH_HANDLE hHandshakeHash,
  _In_  LPCWSTR            pszAlgId,
  _Out_ PBYTE              pbOutput,
  _In_  DWORD              cbOutput,
  _Out_ DWORD              *pcbResult,
  _In_  DWORD              dwFlags
);

パラメーター

hSslProvider [in]

Secure Sockets Layer プロトコル (SSL) プロトコル プロバイダー インスタンスのハンドル。

hMasterKey [in]

マスター キー オブジェクトのハンドル。

hHandshakeHash [in]

これまでに計算されたハンドシェイクのハッシュのハンドル。

pszAlgId [in]

要求された 暗号化アルゴリズムを識別する null で終わる Unicode 文字列へのポインター。 これには、標準の CNG アルゴリズム識別子 の 1 つ、または別の登録済みアルゴリズムの識別子を指定できます。

pbOutput [out]

キー BLOB を受け取るバッファーのアドレス。 cbOutput パラメーターには、このバッファーのサイズが含まれています。 このパラメーターが NULL の場合、この関数は pcbResult パラメーターが指す DWORD に必要なサイズをバイト単位で配置します。

cbOutput [in]

pbOutput バッファーの長さ (バイト単位)。

pcbResult [out]

pbOutput バッファーに書き込まれるハッシュの長さをバイト単位で指定する DWORD 値へのポインター。

dwFlags [in]

このパラメーターは将来使用するために予約されています。

戻り値

関数が成功すると、0 が返されます。

関数が失敗した場合は、0 以外のエラー値を返します。

可能なリターン コードには、次のものが含まれますが、これらに限定されません。

リターン コード/値 説明
NTE_INVALID_HANDLE
0x80090026L
指定されたハンドルの 1 つが無効です。

注釈

SslComputeClientAuthHash 関数は、SSL ハンドシェイクの証明書検証メッセージで送信されるハッシュを計算します。 ハッシュ値は、以前に送受信されたすべてのハンドシェイク メッセージのハッシュを持つマスター シークレットを含むハッシュを作成することによって計算されます。

ハッシュの計算方法は、使用されるプロトコルと暗号スイートによって異なります。 さらに、ハッシュは使用されるクライアント認証キーの種類によって異なります。 pszAlgId パラメーターは、クライアント認証に使用されるキーの種類を示します。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Sslprovider.h
[DLL]
Ncrypt.dll