Oracle® Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド 11g リリース 1 (10.3.1) B55526-01 |
|
![]() 戻る |
![]() 次へ |
JAAS (Java Authentication and Authorization Service) およびセキュア ソケット レイヤ (SSL) を使用する WebLogic クライアントを開発できます。以下の節では、セキュリティ対応クライアントの開発について説明します。
JAAS では、ユーザ ID に基づくアクセス制御機能が提供されます。WebLogic Server クライアントの認証方法として推奨される手法です。一般には、ファイルの読み取りや書き込みの認証方法として使用します。クライアントの証明書認証 (双方向 SSL 認証ともいう) が必要な場合は、JNDI 認証を使用します。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Security プログラマーズ ガイド』の「JNDI 認証の使用」を参照してください。JAAS 認証を実装する方法の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Security プログラマーズ ガイド』の「Java クライアントでの JAAS 認証の使用」を参照してください。
WebLogic Server は、WebLogic Server クライアントとサーバ、Java クライアント、Web ブラウザ、および他のサーバの間で転送されるデータを暗号化するためにセキュア ソケット レイヤ (SSL) をサポートしています。
すべての SSL クライアントに、信頼を指定する必要があります。信頼とは、どの信頼性のある認証局がクライアントから信頼されるのかを指定する CA 証明書の集合です。SSL 接続を確立するためには、RMI クライアントでサーバのデジタル証明書を発行した認証局を信頼する必要があります。サーバの信頼性のある CA 証明書の場所は、RMI クライアントを起動する際に指定します。
デフォルトでは、JDK (...\jre\lib\security\cacerts
) から利用できるすべての信頼性のある認証局が RMI クライアントから信頼されます。ただし、サーバの信頼性のある CA 証明書が、以下のいずれかのタイプの信頼キーストアに格納されている場合は、そのキーストアを使用するために特定のコマンドライン引数を指定する必要があります。
デモ信頼
- デモ用信頼キーストア (DemoTrust.jks
) の信頼性のある CA 証明書は、WL_HOME
\server\lib
ディレクトリに格納されます。JDK cacerts キーストアの信頼性のある CA も信頼されます。デモ信頼を使用するには、次のコマンドライン引数を指定します。
-Dweblogic.security.TrustKeyStore=DemoTrust
必要に応じて、次のコマンドライン引数を使用すると JDK cacerts 信頼キーストアのパスワードを指定できます。
-Dweblogic.security.JavaStandardTrustKeyStorePassPhrase=password
password
は、Java 標準信頼キーストアのパスワードです。このパスワードは、キーストアを作成するときに定義します。
カスタム信頼
- 独自に作成した信頼キーストア。カスタム信頼を使用するには、次のコマンドライン引数を指定します。
信頼キーストアへの完全修飾パスを指定します。
-Dweblogic.security.CustomTrustKeyStoreFileName=filename
キーストアのタイプを指定します。
-Dweblogic.security.TrustKeyStore=CustomTrust
必要に応じて、キーストアの作成時に定義されたパスワードを指定します。
-Dweblogic.security.CustomTrustKeyStorePassPhrase=password
Sun Microsystems の keytool ユーティリティ。このユーティリティを使用すると、プライベート キー、WebLogic Server 用の自己署名デジタル証明書、および CSR (証明書署名リクエスト) を取得できます。keytool ユーティリティは Sun Microsystems の製品です。そのため Oracle では、このユーティリティに関する詳細なドキュメントを提供していません。Sun の keytool ユーティリティの詳細については、http://java.sun.com/javase/6/docs/tooldocs/windows/keytool.html
の「keytool-Key and Certificate Management Tool」を参照してください。Sun Microsystems が提供するチュートリアル http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Security6.html
にある「Installing and Configuring SSL Support」を参照してください。このチュートリアルは、「Creating a Client Certificate for Mutual Authentication」節が含まれています。
注意 : keytool ユーティリティを使用する場合、デフォルトのキー ペア生成アルゴリズムは DSA です。WebLogic Server では、DSA (Digital Signature Algorithm) の使用はサポートされていません。WebLogic Server を使用する場合には、別のキー ペア生成および署名アルゴリズムを指定します。 |
SSL の実装方法の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server のセキュリティ』の「SSL のコンフィグレーション」および「ID と信頼のコンフィグレーション」を参照してください。
WebLogic シン クライアント アプリケーションでの JAAS 認証は以下の方法でのみサポートされます。
WebLogic シン クライアントでは、双方向 SSL のみがサポートされます。双方向 SSL には、SECURITY_CREDENTIALS プロパティに指定されている SSLContext
が必要です。例として、次のクライアント コードを参照してください。
コード リスト 12-1 SSLContext を使用したクライアント コード
. . . System.out.println("Getting initial context"); Hashtable props = new Hashtable(); props.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); props.put(Context.PROVIDER_URL,"corbaloc:iiops:" + host + ":" + port +"/NameService"); props.put(Context.SECURITY_PRINCIPAL,"weblogic"); props.put(Context.SECURITY_CREDENTIALS, "welcome1"); //システム プロパティを使用して ssl プロパティを設定する。 //キーストア ファイルのパスを指定する。(ストア内で 1 つのキーがある。) System.setProperty("javax.net.ssl.keyStore", YOUR-KEY_STORE_FILE_PATH); //キーストアのパスフレーズを設定する。 System.setProperty("javax.net.ssl.keyStorePassword",YOUR_KEY_STORE_PASS_PHRASE); //トラスト ストアを設定する。 //トラスト ファイルのパスを指定する。 System.setProperty("javax.net.ssl.trustStore",YOUR-TRUST_STORE_FILE_PATH); //トラスト ストアのパス フレーズを設定する。 System.setProperty("javax.net.ssl.trustStorePassword",YOUR_TRUST_STORE_PASS_PHRASE); Context ctx = new InitialContext(props); . . .
WebLogic Server 製品には、セキュリティのサンプルが用意されています。これらのサンプルは、SAMPLES_HOME\server\examples\src\examples\security
ディレクトリにあります。各サンプルの説明と、サンプルをビルド、コンフィグレーション、実行する方法については、package-summary.html ファイルを参照してください。これらのサンプル コードは、変更して再利用できます。