認証レベルのネゴシエーション
クライアントとサーバーの両方が認証に参加する必要があります。各関係者は、特定のレベルの認証を実行することを示します。 呼び出しの開始時に、認証レベルが 2 者間でネゴシエーションされて、適切なサービスが選択され、呼び出しが認証されて続行されます (選択された認証レベルに応じて、可能な暗号化を使用)。 クライアントとサーバーの間でネゴシエーションされる認証レベルは、最大 (クライアント設定、サーバー設定) として決定されます。 この効果は、サーバーが快適な最小レベルの認証を常に指示できることを意味します。つまり、サーバーから認証を管理者として指示することができます。
クライアントは、任意の COM アプリケーションと同様、特定のレベルで認証を実行することを指定します。 クライアント認証レベルは、次のように指定することができます。
- DCOMCNFG またはコンポーネント サービス管理ツールを使用することにより、コンピューター全体の COM 認証レベルを設定したクライアント コンピューター単位で。
- DCOMCNFG を使用するか、クライアントが COM+ アプリケーションの場合はコンポーネント サービス管理ツールを使用して、クライアント アプリケーション単位で管理者として。
- CoInitializeSecurity を使用して、プログラムによりクライアント プロセス単位で。
- CoSetProxyBlanket を使用して、任意の時点でプログラムにより。
COM+ サーバー アプリケーションは、コンポーネント サービス管理ツールを使用することにより (または管理スクリプトを通じて) 認証レベルを管理者として指定します。
呼び出しの認証のネゴシエーションは、次の順序で続行されます。
- 認証レベルは、最大 (クライアント、サーバー) として選択されます。
- 認証プロトコルのネゴシエーション。
- サーバーは、クライアント ID を認証します。
- 必要に応じて、クライアントは認証プロトコルに応じてサーバー ID を認証します。
- メソッド呼び出しは、選択された認証レベルと通信されます。
関連トピック