次の方法で共有


Schannel 資格情報の取得

資格情報は、Schannel 認証プロセスで必要です。クライアントとサーバーの両方が、メッセージ交換の セキュリティ コンテキスト を確立するために有効な資格情報を取得する必要があります。 この手順を示す例については、「資格情報の 取得」を参照してください。

アプリケーションは AcquireCredentialsHandle 関数を呼び出して資格情報を取得します。この関数は、要求された資格情報へのハンドルを返します。 資格情報ハンドルは構成情報の格納に使用されるため、クライアント側とサーバー側の両方の操作で同じハンドルを使用することはできません。 つまり、クライアントとサーバーの両方の接続をサポートするアプリケーションは、少なくとも 2 つの資格情報ハンドルを取得する必要があります。

SCHANNEL_CRED構造体は、次を指定します。

  • セキュリティ プロトコル
  • 許容される暗号
  • 最小および最大の暗号強度
  • 認証に使用される X.509 証明書 — サーバーに必要です。サーバーがクライアント認証を要求しない限り、クライアントには省略可能です。

SCHANNEL_CRED構造体を (pAuthData パラメーターを使用して) AcquireCredentialsHandle 関数に渡します。 この関数は、 セキュリティ コンテキストを確立するために必要な資格情報ハンドルを返します。

セキュリティ サポート プロバイダー インターフェイス (SSPI) の呼び出し元は、AcquireCredentialsHandle を呼び出すときに新しい暗号アジャイル SCH_CREDENTIALS構造を渡すことで TLS 1.3 を使用できます。これにより、TLS 1.3 が既定で有効になります。 TLS 1.3 を使用する SSPI 呼び出し元は、コードが SEC_I_RENEGOTIATEを正しく処理していることを確認する必要があります。 詳細については、TLS 1.3 を使用したトランスポート層セキュリティ (TLS) の次のレベルへの 移行に関するブログ記事を参照してください。

Schannel で使用される暗号の設定の詳細については、「 Schannel 暗号と暗号強度の指定」を参照してください。

証明書の詳細については、「 証明書と証明書ストア関数」を参照してください。

証明書ストアを開き、Schannel 認証に使用する証明書を検索する例については、「証明書の取得」を参照してください。

資格情報の取得

TLS 1.3 を使ってトランスポート層セキュリティ (TLS) を次のレベルにする

AcquireCredentialsHandle