ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング
11g リリース1 (10.3.6)
B61622-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

この章では、JAAS (Java Authentication and Authorization Service)およびSecure Sockets Layer (SSL)を使用するWebLogicクライアントを開発する方法について説明します。

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

JAASでは、ユーザーIDに基づくアクセス制御機能が提供されます。ほとんどのWebLogic Serverクライアントの認証方法として推奨される手法です。一般には、ファイルの読取りや書込みの認証方法として使用します。JAAS認証を実装する方法の詳細については、『Oracle WebLogic Serverセキュリティのプログラミング』のJavaクライアントでのJAAS認証の使用に関する項を参照してください。


注意:

WLS-IIOPクライアントはJAASをサポートしていません。「JNDI認証を使用するクライアントの開発」を参照してください。

JNDI認証を使用するクライアントの開発

クライアント証明書認証(双方向SSL認証ともいう)が必要なユーザーは、JNDI認証を使用してください(『Oracle WebLogic Serverセキュリティのプログラミング』のJNDI認証の使用に関する項を参照)。

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

WebLogic Serverは、WebLogic Serverクライアントとサーバー、Javaクライアント、Webブラウザ、および他のサーバーの間で転送されるデータを暗号化するためにSecure Sockets Layer (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 WebLogic Serverの保護』のSSLの構成に関する項およびIDと信頼の構成に関する項を参照してください。

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

WebLogicシン・クライアント・アプリケーションでのJAAS認証は以下の方法でのみサポートされます。

WebLogicシン・クライアントでは、双方向SSLのみがサポートされます。双方向SSLには、SECURITY_CREDENTIALSプロパティに指定されているSSLContextが必要です。例として、次のクライアント・コードを参照してください。

例14-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");
 
//Set the ssl properties through system property
//set the path to the keystore file (one key inside the store)
System.setProperty("javax.net.ssl.keyStore", YOUR-KEY_STORE_FILE_PATH);
//set the keystore pass phrase
System.setProperty("javax.net.ssl.keyStorePassword",YOUR_KEY_STORE_PASS_PHRASE);
 
//Set the trust store
//set the path to the trust store file
System.setProperty("javax.net.ssl.trustStore",YOUR-TRUST_STORE_FILE_PATH);
//set the trust store pass phrase
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ファイルを参照してください。これらのサンプル・コードは、変更して再利用できます。