SecurityCurrentインタフェースを使用して、クライアントにより、ユーザ名/パスワードベースのクライアント認証、または識別 確認をサポートする安全なオブジェクトに対して要求が行われた場合、クライアント側のセキュリティサービスはスレッドレベルでSecurityContextを確認し、次にORBレベルで確認します。 SecurityContextが設定されない場合、AuthCallback(該当する場合)がSecurityContextを作成し、返すために呼び出されます。SecurityContextがまだ使用できず、オブジェクトがSecurityContextを「必要とする」場合、セキュリティ例外がクライアントに発行されます。 セキュリティコンテキストは、CSIv2指定で定義されたように、IIOP サービスコンテキストの内部のサーバに伝達されます。
- 新しいSecurityContextを作成します。
- ORBまたはスレッドレベルでSecurityContextを設定/取得する
- 識別とInitialContextトークンを作成する
- ネゴシエーションされた暗号および呼び出し側の証明書チェーンを取得する(IIOP/SSL またはTLS使用時)
- 呼び出し側のホストおよびポートを取得する
セキュリティサービスを実行するIIOP 要求がサーバ側セキュリティサービスで受け取られた場合、認証者に対して含まれているトークンを検証し、アプリケーションに対して呼び出し側のSecurityContextを設定するように指示します。SecurityContextが変更されるか、新しいものが設定されない限り、SecurityContextはアプリケーションコードが事項される識別として引き続き機能します。
図1:SecurityCurrent API メソッド 説明 createInitialContextToken ユーザ名、パスワード、および領域を使用してGSSUP初期コンテキストトークンを作成します。 createIdentityToken 識別トークンを作成します。異なるタイプの識別トークンを作成できます。 newContext 新しいセキュリティコンテキストを作成します。 set/unset ORBContext ORBレベルのセキュリティコンテキストを設定/設定解除します。 stack`/unstack ThreadContext スレッドセキュリティコンテキストを設定/設定解除します。スレッドセキュリティコンテキストは、ORBレベルセキュリティコンテキストを上書きします。 getSecurityContext 現在のスレッドのセキュリティコンテキストを取得します。スレッドにセキュリティコンテキストがない場合、ORBコンテキストが返されます。 getThreadSecurityContext 指定されたスレッドのセキュリティコンテキストを取得します。スレッドにセキュリティコンテキストがない場合、ORBコンテキストが返されます。 getCaller 呼び出し側のセキュリティコンテキストを取得します。 get/set Authenticator 受け取った初期コンテキストトークンの認証に使用される認証者を取得/設定します。 get/set AuthCallback セキュリティコンテキストを作成するクライアント側のコールバックを取得/設定します。 getPort リモートクライアントのポートを取得します。クライアントがローカルの場合、ゼロを返します。同じリモート呼び出しの代わりに行われたネストされた呼び出しの場合、getPortは引き続き有効な値を返し続けます。 getLocalAddress この呼び出しを受信したローカルIPアドレスを取得します。 クライアントがローカルの場合、ヌルを返します。同じリモート呼び出しの代わりに行われたネストされた呼び出しの場合、getLocalAddressはヌルでない値を返し続けます。 getLocalPort この呼び出しを受信したローカルIPポートを取得します。 クライアントがローカルの場合、ヌルを返します。同じリモート呼び出しの代わりに行われたネストされた呼び出しの場合、getLocalPortは引き続き有効な値を返し続けます。 getNegotiatedCipherSuite ネゴシエートされたCipherSuiteを取得します。クライアント側で、このメソッドはパラメータとしてオブジェクト参照を使用します。IIOP/SSLのみ。 getCertificateChain ピア証明書チェインを取得します。クライアント側で、このメソッドはパラメータとしてオブジェクト参照を使用します。IIOP/SSLのみ。
Copyright © 1998-2003, Novell, Inc.All rights reserved.