ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド
11g リリース 1 (10.3.1)
B55526-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

12 セキュリティ対応クライアントの開発

JAAS (Java Authentication and Authorization Service) およびセキュア ソケット レイヤ (SSL) を使用する WebLogic クライアントを開発できます。以下の節では、セキュリティ対応クライアントの開発について説明します。

JAAS を使用するクライアントの開発

JAAS では、ユーザ ID に基づくアクセス制御機能が提供されます。WebLogic Server クライアントの認証方法として推奨される手法です。一般には、ファイルの読み取りや書き込みの認証方法として使用します。クライアントの証明書認証 (双方向 SSL 認証ともいう) が必要な場合は、JNDI 認証を使用します。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Security プログラマーズ ガイド』の「JNDI 認証の使用」を参照してください。JAAS 認証を実装する方法の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Security プログラマーズ ガイド』の「Java クライアントでの JAAS 認証の使用」を参照してください。

SSL を使用するクライアントの開発

WebLogic Server は、WebLogic Server クライアントとサーバ、Java クライアント、Web ブラウザ、および他のサーバの間で転送されるデータを暗号化するためにセキュア ソケット レイヤ (SSL) をサポートしています。

すべての SSL クライアントに、信頼を指定する必要があります。信頼とは、どの信頼性のある認証局がクライアントから信頼されるのかを指定する CA 証明書の集合です。SSL 接続を確立するためには、RMI クライアントでサーバのデジタル証明書を発行した認証局を信頼する必要があります。サーバの信頼性のある CA 証明書の場所は、RMI クライアントを起動する際に指定します。

デフォルトでは、JDK (...\jre\lib\security\cacerts) から利用できるすべての信頼性のある認証局が RMI クライアントから信頼されます。ただし、サーバの信頼性のある CA 証明書が、以下のいずれかのタイプの信頼キーストアに格納されている場合は、そのキーストアを使用するために特定のコマンドライン引数を指定する必要があります。


注意 :

keytool ユーティリティを使用する場合、デフォルトのキー ペア生成アルゴリズムは DSA です。WebLogic Server では、DSA (Digital Signature Algorithm) の使用はサポートされていません。WebLogic Server を使用する場合には、別のキー ペア生成および署名アルゴリズムを指定します。

SSL の実装方法の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server のセキュリティ』の「SSL のコンフィグレーション」および「ID と信頼のコンフィグレーション」を参照してください。

シン クライアントで JAAS および SSL を使用する際の制約

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 ファイルを参照してください。これらのサンプル コードは、変更して再利用できます。