Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3セキュリティの管理 12c (12.1.3) E57576-07 |
|
前 |
次 |
WebLogic Server 12.1.3は、認証が成功/失敗したかどうかを判定するために発行されたリクエストを基に、エンド・ユーザーによって渡される情報の詳細を確認するための方法を提供します。この詳細情報には、エンド・ユーザーの証明書、件名、およびIPアドレスが含まれます。この機能は、weblogic.security.SSL.CertificateCallback
インタフェースによって提供され、これを実装して証明書コールバック・ハンドラを作成できます。WebLogic Serverで構成されている場合、セキュアなRMI接続(T3sやIIOPSプロトコルを使用するもの)を介してクライアント・リクエストを受け取ると、このコールバック・ハンドラが自動的に起動されます。
証明書コールバック・ハンドラがすべてのセキュアインバウンドRMI接続で機能するように構成するには、サーバー起動コマンドで受け渡されるWebLogic Serverシステム・プロパティとしてハンドラを定義します。
この章では、以下のトピックについて説明します。
クライアントが、証明書コールバック・ハンドラを使用して構成されるWebLogic ServerインスタンスへのセキュアRMI接続を作成する場合、WebLogic Serverはコールバック・ハンドラを呼び出します。コールバックは接続リクエスト内のエンド・ユーザー情報の詳細を評価し、認証が正常に実行されたことを示すブール値を返します。
CertificateCallbackインタフェースは、CertificateCallbackInfo
インスタンス上でvalidate
メソッドを呼び出します。このインスタンスには、RMI接続リクエスト内にあるエンド・ユーザーからの次の情報を取得するためのメソッドが含まれます。
クライアントのホスト名、IPアドレス、およびポート
クライアントのドメイン名
宛先のホスト名、IPアドレス、およびポート
認証されたサブジェクト
クライアント証明書
コールバック実装には、取得されるクライアント・データを評価し、次のようにtrue
またはfalse
を返すロジックが含まれます。
コールバックがtrue
を返す場合、認証は正常に実行され、WebLogic Serverへのクライアント接続が確立されます。
コールバックがfalse
を返す場合、「認証が拒否されました」というメッセージを表示してRemoteExceptionがスローされます。
注意: WebLogic Serverで証明書コールバック実装を使用した場合、セキュア・ポート経由でリクエストが受信されると、常にコールバックが生成されます。その結果、証明書コールバックを使用すると、強制的なパフォーマンス・オーバーヘッドが発生する可能性があるため、その考慮も必要です。 |
weblogic.security.SSL.CertificateCallback
インタフェースには、weblogic.security.SSL.CertificateCallbackInfo
インスタンス上のvalidate
メソッドで単一の呼出しが含まれます。CertificateCallbackInfoインスタンスには、セキュアRMI接続全体で受け渡されるエンド・ユーザーの詳細情報を取得するためのメソッドが含まれます。
返されるデータを評価し、true
またはfalse
を返すロジックを実装します。このロジックは、返されるデータをすべて評価する必要はありません。通常、共通名(cn)または識別名(dn)の入手など、証明書のみが評価されます。
詳細は、Oracle WebLogic Server Java APIリフィレンスにある次のJavadocを参照してください。
WebLogic Serverを使用してコールバックを構成するには、WebLogic Server起動コマンドでシステム・プロパティとしてコールバック実装を指定します。プロパティは、サーバーのクラスパス上にあるコールバック実装クラスを示す必要があります。たとえば、コールバック実装クラスがパッケージcom.mycompany.security
のMyCertificateCallback.java
で、MyCertificateCallback.class
がサーバーのクラスパス内にある場合、次のコマンドがWebLogic Serverでコールバック実装プロパティを設定します。
java weblogic.Server -Dweblogic.security.SSL.CertificateCallback=com.mycompany.security.MyCertificateCallback
WebLogic Serverが一方向SSL用に構成されている場合、クライアント証明書はサーバーに送信されないことに注意します。証明書コールバック・ハンドラは、WebLogic Serverが双方向SSL用に構成されている場合にのみ使用することをお薦めします。詳細は、第6部「SSLの構成」を参照してください。