スタンドアロン クライアント プログラマーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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

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

 


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

JAAS では、ユーザ ID に基づくアクセス制御機能が提供されます。WebLogic Server クライアントの認証方法として推奨される手法です。一般には、ファイルの読み取りや書き込みの認証方法として使用します。クライアントの証明書認証 (双方向 SSL 認証ともいう) が必要な場合は JNDI 認証を使用します。JAAS 認証を実装する方法については、「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 の実装方法の詳細については、『WebLogic Server のセキュリティ』の「SSL のコンフィグレーション」および「ID と信頼のコンフィグレーション」を参照してください。

 


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

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

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

コード リスト 12-1 SSLContext を使用したクライアント コード
.
.
.
// KeyManager の KeyManagerFactory を取得する
System.out.println("Retrieving KeyManagerFactory & initializing");
    KeyManagerFactory kmf =     KeyManagerFactory.getInstance("SunX509","SunJSSE");
    kmf.init(ks,keyStorePassword);

// SSLContext を取得して初期化する
System.out.println("Initializing the SSLContext");
    SSLContext sslCtx = SSLContext.getInstance("SSL");
    sslCtx.init(kmf.getKeyManagers(),null,null);

// SSLContext を初期コンテキスト ファクトリに渡し、InitialContext
// を取得する
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, sslCtx);
    Context ctx = new InitialContext(props);
.
.
.

 


セキュリティのサンプル コード

WebLogic Server 製品には、セキュリティのサンプルが用意されています。これらのサンプルは、SAMPLES_HOME\server\examples\src\examples\security ディレクトリにあります。各サンプルの説明と、サンプルをビルド、コンフィグレーション、実行する方法については、package-summary.html ファイルを参照してください。これらのサンプル コードは、変更して再利用できます。


ページの先頭       前  次