BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

B2B Integration セキュリティの実装

 前 次 目次 索引 PDFで表示  

キーストアのコンフィグレーション

ここでは、以下の内容を取り上げます。

WebLogic Integration B2B のコンフィグレーションについての一般情報は、『B2B Integration 管理ガイド』の「基本的なコンフィグレーション タスク」を参照してください。

 


キーストアとは

キーストアは、キーおよび証明書を保管する保護されたデータベースです。キーおよび証明書を持っており、メッセージ暗号化、デジタル署名、または SSL を使用している場合、そういったキーおよび証明書の保管にキーストアを使用し、B2B アプリケーションのような、認証または署名にキーストアが必要になる可能性のあるアプリケーションに対してこのキーストアを使用可能にしておくことをお勧めします。キーストアを作成し、使用可能にするには、キーストア プロバイダが必要です。これは、WebLogic Server 7.0 セキュリティ アーキテクチャで導入されています。

WebLogic キーストア プロバイダは、Sun Microsystems 社が Java Development Kit に提供されている参照キーストア実装を使用したコンポーネントです。この WebLogic キーストア プロバイダには、次の機能があります。

作成するキーストア

B2B コラボレーションに対して WebLogic Integration ドメインを設定するときに、次のキーストアを作成するように WebLogic キーストア プロバイダをコンフィグレーションします。

キーストアの作成およびコンフィグレーション手順

B2B コラボレーションに必要なキーストアを作成およびコンフィグレーションするには、以下の手順を実行します。

  1. B2B ドメインを作成します。

  2. キーストアを作成し、SSL で必要なサーバ証明書とキーを追加します。

  3. WebLogic キーストア プロバイダをコンフィグレーションします。

  4. トレーディング パートナの証明書をキーストアに追加します。

  5. 信頼性のある認証局の証明書を CA キーストアに追加します。

  6. キーストアを使用するドメインをコンフィグレーションします。

この項目には、マルチノード クラスタにおけるキーストア ファイルの使い方に関する説明も含まれます。

キーストア、証明書、およびキーに関する基本情報については、以下を参照してください。

 


ドメインの作成

セキュリティをコンフィグレーションする WebLogic Integration B2B ドメインの作成には、BEA コンフィグレーション ウィザードを使用することをお勧めします。WebLogic Integration ドメインを作成するには、以下の手順を実行します。

  1. Configuration Wizard の使い方』の説明に従って、コンフィグレーション ウィザードを起動します。このマニュアルは次の URL で参照できます。
    http://edocs.beasys.co.jp/e-docs/platform/docs70/confgwiz/index.html

  2. WebLogic Integration ドメインのコンフィグレーションを実行します。ドメインは以下のいずれでもかまいません。

    注意: 新規ドメインの作成には、必ず WebLogic Integration テンプレートを選択し、WebLogic Server テンプレートまたは WebLogic Portal テンプレートは使用しないでください。WebLogic Integration テンプレートを使用することにより、この手順で作成されたドメインが互換モードの WebLogic Server 6.x セキュリティ レルムに基づくことが保証されます。新たな WebLogic Server 7.0 レルムは LDAP をベースにしており、WebLogic Integration ではサポートされていません。WebLogic Server テンプレートで新規のドメインを作成すると、作成したドメインでは LDAP をベースにした、この新しい WebLogic Server 7.0 セキュリティ ドメインを使用することになります。

  3. コンフィグレーション ウィザードを終了したら、新しく作成されたカスタム ドメインから、次のファイルをテキスト エディタで開きます。
    DOMAIN_HOME/config.xml

    上記のファイル名で、DOMAIN_HOME はカスタム ドメインを含むディレクトリのパスを表しています。たとえば、Windows では DOMAIN_HOME の値は次のようになります。

    c:¥bea¥user_projects¥mydomain

  4. カスタム ドメインに作成された WebLogic Integration アプリケーションの自動デプロイメントを無効化します。そのためには、次に示すように、config.xml ファイルの WLIapplication 要素の Deployed 属性を false に設定します。
    <Application Deployed="false" Name="WLIApplication" Path="<%WLI_HOME%¥lib>" TwoPhase="true">

 


キーストアの作成とサーバ証明書の追加

この節では、SSL を使用するときに必要なサーバ証明書およびキーを格納するためのプライベート キーストアの作成、さらに CA 証明書用の関連 CA キーストアを作成する方法について説明します。トレーディング パートナの証明書をプライベート キーストアに追加する方法については、トレーディング パートナの証明書のキーストアへの追加を参照してください。

トレーディング パートナの認証には、SSL を使用することを強くお勧めします。ただし、SSL を使用する場合、B2B ドメインの各マシンにも SSL をコンフィグレーションする必要があります。SSL をコンフィグレーションする場合、WebLogic Server のローカル インスタンスに対して証明書とプライベート キーを提供する必要があります。この証明書は、サーバ証明書と呼ばれています。ローカル サーバに対するこのサーバ証明書とプライベート キーは、キーストアに格納するようにしてください。この節では、サーバ証明書とプライベート キーをキーストアに追加する方法を説明します。

トレーディング パートナの認証および認可プロセスにおいて、当該 WebLogic Server インスタンスの SSL レイヤでは、キーストアを使用して、以下の対象を入手します。

SSL を使用する WebLogic Server のコンフィグレーションの手順については、SSL プロトコルと相互認証のコンフィグレーションを参照してください。

WebLogic Integration のセキュリティ サービスは WebLogic Server 上に構築されるため、WebLogic Integration については、現在、使用できることが保証されているのは、JKS プロバイダ ベースのキーストアに限られます。B2B コラボレーションに必要なキーストアを作成する場合、次のユーティリティのうちいずれかを使用できます。

WebLogic Integration B2B ドメインに必要なキーストアを作成するには、以下の手順を実行します。

  1. コマンド ウィンドウを開きます。

  2. ドメインのルート ディレクトリに進みます。Windows の場合ならば、次のように入力します。
    c:¥> cd bea¥user_projects¥b2bdomain

  3. 次のファイルを取得または作成します。

  4. keytool または ImportPrivateKey ユーティリティを使用して、プライベート キーストアを作成し、サーバ証明書とプライベート キーを追加します。

    注意: キーストアを作成するコマンドは、証明書とキーを追加するコマンドと同じです。証明書とキーを追加する時に、キーストアがなかった場合、コマンドを入力するとキーストアが作成されます。

    プライベート キーストアを作成する場合の ImportPrivateKey コマンドの構文は、次のとおりです。

    java utils.ImportPrivateKey keystoreName keystorepass alias keypass certfile keyfile

    注意: ImportPrivateKey コマンドを実行する場合、BEA WebLogic Platform がクラスパスに入っていることを確認してください。

    次の表は、ImportPrivateKey ユーティリティで使用可能な引数を示しています。


     

    プライベート キーストアに追加するサーバ証明書およびキーごとに、ImportPrivateKey または keytool コマンドを実行します。

  5. ルート CA キーストアを作成します。ルート CA キーストアは、当初の CA 証明書の追加時に作成されます(プライベート キーストアの作成時に作成されるのと同様)。

    ルート CA キーストアを作成するには、keytool コマンドを以下の引数をつけて実行します。

    keytool -import -keystore keystoreName -trustcacerts -alias aliasName -file cert_file -storepass keystorepw -noprompt

    次の表は、keytool ユーティリティで使用可能な引数を示しています。


     

  6. ドメイン内の各マシンについて、同じファイル名および相対パスを使用して手順 4 と 5 を繰り返します。

    注意: SSL 認証と認可が確実に正しく機能するようにするため、各マシンのキーストア、証明書、キーなどには必ず同一のファイル名およびパスを使用してください。

  7. B2B ドメインをマルチノード クラスタにデプロイする場合、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバ可用性の管理」に説明されているようにノード マネージャ をコンフィグレーションしてください。

 


WebLogic キーストア プロバイダのコンフィグレーション

キーストアの作成とサーバ証明書の追加で作成したキーストアについて WebLogic キーストア プロバイダをコンフィグレーションするには、以下の手順を実行します。

  1. 新しく作成したカスタム ドメインで WebLogic Server を起動します。たとえば、Windows の場合、[スタート|BEA WebLogic Platform7.0|UserProjects|ドメインservername] と選択します。

  2. WebLogic Integration の起動、停止およびカスタマイズ』の「WebLogic Integration 管理ツールと設計ツール」、「WebLogic Server Administration Console の起動」の説明に従って、WebLogic Server Administration Console を起動します。

  3. 左側のナビゲーション ペインで、[セキュリティ|レルム|CompatibilityRealm|プロバイダ|キー ストア] と選択します。

    図3-1 ナビゲーション ペインでのキーストアの選択


     

    WebLogic Server Administration Console により、次の図に示すように、新規のデフォルト キーストアをコンフィグレーションするウィンドウが表示されます。

    図3-2 新規のデフォルト キーストアのコンフィグレーション


     

  4. [新しいデフォルト キー ストアのコンフィグレーション] をクリックします。

    次の図に示されているように、キーストアをコンフィグレーションする [一般] タブが表示されます。

    図3-3 デフォルト キーストアのコンフィグレーションに使用する [一般] タブ


     

  5. [一般] タブで、次の各ファイルのパス名を指定します。

  6. [作成] をクリックします。

  7. WebLogic Server をシャットダウンして、再起動します。

 


トレーディング パートナの証明書のキーストアへの追加

キーストアにトレーディング パートナの証明書を取り込むには、この節に示されている手順を実行します。各トレーディング パートナの証明書の詳細については、トレーディング パートナの証明書のコンフィグレーションを参照してください。

注意: キーストアに必要な証明書およびプライベート キーがすでに取り込まれている場合でも、以下のタスクを実行して WebLogic Integration リポジトリに必要な情報を取り込む必要があります。

WebLogic Integration では、トレーディング パートナの証明書をキーストアにロードするときに、信頼性のある認証局に照らしてその証明書を検証することはありません。

  1. 次の例に示すように、config.xml ファイルの WLI アプリケーション要素の Deployed 属性を true に設定することにより、B2B ドメインで作成された WebLogic Integration アプリケーションの自動デプロイメントを有効化します。
    <Application Deployed="true" Name="WLI" Path="<%WLI_HOME%¥lib>" TwoPhase="true">

  2. WebLogic Integration の起動、停止およびカスタマイズ』の「WebLogic Integration 管理ツールと設計ツール」、「B2B Console の起動」の説明に従って、B2B Console を起動します。

この節では、B2B コラボレーションのプライベート キーストアにデータを取り込む手順を、以下に従って示します。

ローカル トレーディング パートナの証明書およびプライベート キーの追加

ローカル トレーディング パートナは、次の証明書およびプライベート キーを必要とします。

プライベート キーストアにこれらの証明書およびプライベート キーを追加するには、この節で示される手順を実行します。

注意: ローカル トレーディング パートナに対しては、サーバ証明書はコンフィグレーションしません。暗号化証明書および署名証明書は任意ですが、クライアント証明書は相互認証の SSL を使用する場合必須です。ローカル トレーディング パートナの証明書の詳細については、トレーディング パートナの証明書のコンフィグレーションを参照してください。クライアント証明書を必要としないサーバ側、ないし一方向認証の使い方については、サーバ側認証のコンフィグレーションを参照してください。

  1. 左側のナビゲーション ペインで、[B2B|トレーディング パートナ] と選択します。

  2. 証明書を追加する対象のローカル トレーディング パートナの名前をクリックします。[コンフィグレーション: 一般] タブが表示されます。

    図3-4 ローカル トレーディング パートナの [一般] コンフィグレーション ページ


     

  3. [証明書] タブを選択します。[証明書] コンフィグレーション ページが表示されます。

    図3-5 ローカル トレーディング パートナの [証明書] コンフィグレーション ページ


     

  4. [証明書エントリの作成] をクリックします。ローカル トレーディング パートナに対して追加する証明書の詳細を指定するページが表示されます。

    図3-6 ローカル トレーディング パートナに対する証明書エントリの作成


     

  5. 各トレーディング パートナの証明書に対して、次の情報を入力します。

    注意: プレーン テキスト(無保護)のプライベート キーを B2B Console を使用してインポートする場合、[プライベート キーのパスワード] というフィールドにプライベート キーストアのパスワードを指定します。

  6. [追加] をクリックすると WebLogic Integration リポジトリに証明書およびプライベート キーが追加されます。

  7. [キーストアへ証明書を保存] チェック ボックスにチェックを入れると、証明書およびプライベート キーがプライベート キーストアに追加されます。

リモート トレーディング パートナの証明書の追加

リモート トレーディング パートナは、次の証明書を持っています。

注意: リモート トレーディング パートナの証明書には、プライベート キーは指定しません。暗号化証明書および署名証明書は任意ですが、クライアント証明書およびサーバ証明書は相互認証の SSL を使用する場合必須です。リモート トレーディング パートナの証明書の詳細については、トレーディング パートナの証明書のコンフィグレーションを参照してください。クライアント証明書を必要としないサーバ側、ないし一方向認証の使い方については、サーバ側認証のコンフィグレーションを参照してください。

これらの証明書をプライベート キーストアに追加するには、以下の手順を実行します。

  1. 必要に応じて B2B Console を起動します。

  2. 左側のナビゲーション ペインで、[B2B|トレーディング パートナ] と選択します。

  3. 証明書を追加する対象のリモート トレーディング パートナの名前をクリックします。[コンフィグレーション : 一般] タブが表示されます。

  4. [証明書] タブを選択します。[証明書] コンフィグレーション ページが表示されます。

  5. [証明書エントリの作成] リンクをクリックします。リモート トレーディング パートナに対して追加する証明書の詳細を指定するページが表示されます。

    図3-7 リモート トレーディング パートナに対する証明書エントリの作成


     

  6. リモート トレーディング パートナに対して追加する各証明書の名前、場所、および種類を入力します。

  7. [追加] をクリックすると WebLogic Integration リポジトリに証明書が追加されます。

  8. [キーストアへ証明書を保存] のチェック ボックスにチェックを入れると、証明書がプライベート キーストアに追加されます。

証明書のキーストアへのバルク ロードおよびインポート

Bulk Loader ユーティリティ(B2B Console またはコマンド ラインから利用)を使用して証明書を WebLogic Integration リポジトリにコンフィグレーションすると、トレーディング パートナの証明書は、キーストアにはインポートされません。ただし、リポジトリにはその証明書のコンフィグレーション情報が格納されていますので、B2B エンジンの起動時に証明書をキーストアにインポートできます。

B2B エンジンでキーストアにトレーディング パートナの証明書をインポートするためには、事前に startWeblogic スクリプトで自動移行を有効化する必要があります。自動移行を有効にするには、以下の手順を実行します。

  1. ドメインの作成で作成された B2B ドメインの WebLogic Server インスタンスをシャットダウンします。シャットダウンは、B2B ドメインのルート ディレクトリにある stopWeblogic スクリプトを実行することによって行ないます。たとえば

    上記の例で、DOMAIN_HOME は B2B ドメインのルート ディレクトリです。

  2. Java システム プロパティ wli.keystore.automigratestartWeblogic スクリプトの Java コマンド ラインに追加し、このプロパティ値を、次に示すように true に設定します。wli.keystore.automigrate プロパティは 太字で示されています。
%JAVA_HOME%¥bin¥java %DB_JVMARGS% -Xmx256m -classpath %WLISERVERCP% -Dbea.home=%BEA_HOME% -Dwli.bpm.server.evaluator.supportsNull=false -Dweblogic.Domain=mydomain -Dweblogic.Name=myserver -Dweblogic.management.username= -Dweblogic.management.password= -Dweblogic.ProductionModeEnabled=true -Dweblogic.management.discover=false -Djava.security.policy==%WL_HOME%¥lib¥weblogic.policy weblogic.Server -Dwli.keystore.automigrate=true

  1. 変更を保存します。

WebLogic Server がドメインで再起動されると、証明書とキーがインポートされます。

証明書およびプライベート キーのキーストアからの削除

B2B Console を使って、証明書、および該当する場合はプライベート キーを削除すると、その証明書およびプライベート キーに対する参照が WebLogic Integration リポジトリから削除されます。証明書と関連するキーのプライベート キーストアからの削除も同時に行なうことができます。

証明書を削除するには、以下の手順を実行します。

  1. 必要に応じて B2B Console を起動します。

  2. 左側のナビゲーション ペインで、[B2B|トレーディング パートナ] と選択します。

  3. 証明書およびプライベート キーを削除する対象のトレーディング パートナ名をクリックします。[コンフィグレーション : 一般] タブが表示されます。

  4. [証明書] タブを選択します。[証明書] コンフィグレーション ページが表示されます。

    図3-8 キーストアからの証明書の削除


     

  5. 削除する証明書の種類を選択します。

  6. リスト ボックスから証明書のエリアスを選択します。

  7. [削除] をクリックすると、証明書、および該当する場合はプライベート キーが WebLogic Integration リポジトリから削除されます。

  8. リポジトリからだけでなく、キーストアからも証明書とプライベート キーを削除する場合は、[キーストアから証明書を削除] ボックスにチェックが入っていることを確認してから [削除] をクリックしてください。

 


キーストアを使用するためのドメインのコンフィグレーション

作成したキーストアを使用するように B2B ドメインをコンフィグレーションするには、ドメインのルート ディレクトリにある startWeblogic スクリプトを修正する必要があります。このスクリプトを修正するには、以下の手順を実行します。

  1. 次の例に示すように、ドメインのルート ディレクトリに進みます。

    上記のパス名で、domain は B2B ドメインの名前を表しています。

  2. テキスト エディタで、startWebLogic.cmd スクリプト(Windows の場合)または startWebLogic.sh スクリプト(UNIX の場合)を開きます。

  3. 以下の例に示すように、WebLogic Server を起動するために java コマンドが発行される行に位置を合わせます。
%JAVA_HOME%¥bin¥java %DB_JVMARGS% -Xmx256m -classpath %WLISERVERCP%
-Dbea.home=%BEA_HOME% -Dwli.bpm.server.evaluator.supportsNull=false
-Dweblogic.Domain=mydomain -Dweblogic.Name=myserver
-Dweblogic.management.username= -Dweblogic.management.password=
-Dweblogic.ProductionModeEnabled=true -Dweblogic.management.discover=false
-Djava.security.policy==%WL_HOME%¥lib¥weblogic.policy weblogic.Server

  1. この java コマンドに対して、署名およびメッセージ暗号化証明書のプライベート キー パスワードを指定するシステム プロパティを、以下の構文に従って追加します。
    -DKey.certificate-name.password=key_password * 

    上記の構文で、

  2. さらに、この java コマンドに対して、プライベート キーストアおよびルート CA キーストアのパスワードを指定するシステム プロパティを、以下の構文に従って追加します。
    -Dwli.privateKeystore.password=keystore_pass
    -Dwli.caKeystore.password=caKeystore_pass

    上記の構文で、

注意: パスワードは、startWeblogic などのスクリプトにハードコーディングせずに、環境変数に設定することをお勧めします。環境変数に設定された場合、スクリプトでは、そのスクリプトが実行される環境からパスワードの値を取得します。

 


マルチノード クラスタにおけるキーストアの使用

B2B ドメインをマルチノード クラスタにデプロイする場合、以下の作業を実行する必要があります。

  1. プライベート キーストアおよびルート CA キーストアをクラスタ内の各マシンに複写します。複写したキーストアの相対位置は、すべてのマシンで同じになるようにします。

  2. サーバ証明書がすべてのマシンで同じ相対位置に格納されるようにします。SSL サポートの要件を満たすため、サーバ証明書の場所は、ドメインの config.xml ファイルで識別されるようにする必要があります。

  3. WebLogic キーストア プロバイダのコンフィグレーションに示されているように、管理サーバでプロバイダにより、プライベート キーストアおよびルート CA キーストアをコンフィグレーションします。

  4. SSL プロトコルと相互認証のコンフィグレーションで説明されているように、サーバ証明書が管理サーバにコンフィグレーションされていることを確認します。

ドメイン内の各管理対象サーバの起動時に、管理サーバの補助により、WebLogic キーストア プロバイダのコンフィグレーションが自動的にサーバに伝播されます。

マルチノード クラスタで B2B セキュリティを管理する方法の詳細については、『WebLogic Integration ソリューションのデプロイメント』を参照してください。

 

ページの先頭 前 次