アセンブリー・ツールを使用して、コンシューマー用の鍵ロケーターを構成できます。
鍵ロケーターの目的は、鍵または証明書を検出することです。
コンシューマー側の鍵ロケーター情報は、
受信した SOAP メッセージにおけるデジタル・シグニチャーの検証や、
暗号化されたメッセージ・パーツの暗号化解除に使用する鍵を見つけるために使用されます。
応答コンシューマーはクライアントに対して構成され、要求コンシューマーはサーバーに対して構成されます。
始める前に
このタスクを実行する前に、
アプリケーションをアセンブリー・ツールにインポートする必要があります。
アプリケーションをインポートする方法については、エンタープライズ・アプリケーションのインポートを参照してください。
鍵ロケーターを構成する前に、どの鍵情報構成がこの鍵ロケーターを参照するかを知っておく必要があります。
例えば、この鍵ロケーターを STRREF 鍵情報タイプに対して構成する場合は、
鍵ロケーター・クラス com.ibm.wsspi.wssecurity.keyinfo.X509TokeyKeyLocator を選択します。
このタスクについて
WebSphere Application Server、バージョン 6.0.x 以降では、
デフォルトの鍵ロケーター・インプリメンテーションを使用することも、
独自のインプリメンテーションを作成することもできます。
カスタムの鍵ロケーターは、
com.ibm.wsspi.wssecurity.keyinfo.KeyLocator インターフェースをインプリメントしている必要があります。
このインプリメンテーションを使用すると、任意のデータ・ソース内の鍵を探し出すことができます。
以下のステップを実行します。ステップ 2 でのクライアント・サイドのバインディング、またはステップ 3 でのサーバー・サイドのバインディングを構成する必要があります。
プロシージャー
- アセンブリー・ツールを開始します。
- Java 2 Platform, Enterprise Edition (J2EE) パースペクティブへ切り替えます。
「ウィンドウ」>「パースペクティブのオープン」>「J2EE」とクリックします。
- オプション: プロジェクト・エクスプローラー・ウィンドウで、クライアント側のバインディングを探します。
「Client Deployment Descriptor」ウィンドウが表示されます。
この Web サービスに、構成が必要なバインディングが含まれています。
以下のステップを実行して、クライアント側のバインディングを見つけます。
- 「Web サービス」>「クライアント」とセクションを展開し、
Web サービスの名前をダブルクリックします。
- 「WS Binding」タブをクリックし、「Security Response
Consumer Binding Configuration」セクションを展開します。
- オプション: 「Project Explorer」ウィンドウを使用して、サーバー・サイドのバインディングを見付けます。
「Web Services Editor」ウィンドウが表示されます。
この Web サービスに、構成が必要なバインディングが含まれています。
以下のステップを実行して、
サーバー側のバインディングを見つけます。
- 「Web サービス」>「サービス」とセクションを展開し、
Web サービスの名前をダブルクリックします。
- 「Binding Configurations」タブをクリックして、
「Request Consumer Binding Configuration Details」セクションを展開します。
- 「鍵ロケーター」セクションを展開して、新規項目を追加する場合は「追加」をクリックし、
選択した項目を編集する場合は「編集」をクリックします。
- 「Key locator name」フィールドで、この構成の名前を指定します。
この構成名は、「鍵情報」ダイアログの「鍵ロケーター」フィールドで参照されます。
- 「Key locator class」フィールドで、鍵ロケーターのインプリメンテーションを選択します。
この鍵ロケーターを参照する鍵情報構成と一致する鍵ロケーター・クラスを選択してください。
例えば、受信した Simple Object Access Protocol (SOAP) メッセージに、
シグニチャーの検証に必要な X.509 証明書が含まれている場合は、
鍵ロケーター・クラス com.ibm.wsspi.wssecurity.keyinfo.X509TokenKeyLocator を選択します。
シグニチャー検証または暗号化解除に必要な鍵を、
鍵ストア・ファイルを使用して指定する必要がある場合は、
鍵ロケーター・クラス com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator を選択します。
鍵ロケーター・クラス com.ibm.wsspi.wssecurity.keyinfo.SignerCertKeyLocator は、
コンシューマー・サイドでは使用されません。
通常は、応答ジェネレーター構成で、
要求メッセージの署名者の鍵を使用して応答メッセージを暗号化するために使用されます。
- 鍵ストアをこの鍵ロケーター用に構成する必要がある場合は、
「Use key store」オプションを選択します。
鍵ストア情報を鍵ロケーター用に構成する必要があるかどうかは、
鍵ロケーター・クラスとアプリケーション構成によって決まります。
例えば、前のステップで鍵ロケーター・クラス com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator を選択した場合は、
この鍵ロケーターに対して鍵ストア情報を構成してください。
- 「Key store storepass」フィールドで鍵ストアのパスワードを指定します。
鍵ストアの storepass は、鍵ストア・ファイルへのアクセスに必要なパスワードです。
- 「Key store path」フィールドで、鍵ストア・ファイルのパスを指定します。
鍵ストア・パスは、鍵ストアが置かれているディレクトリーです。
アプリケーションをどこにデプロイする場合でも、サーバーが鍵ストア・ファイルを探し出せるようにしておいてください。
- 「鍵ストア・タイプ」フィールドから鍵ストア・タイプを選択します。
ここで選択する鍵ストア・タイプは、
「Key store path」フィールドで指定した鍵ストア・ファイルと一致している必要があります。
サポートされている鍵ストア・タイプは、以下のとおりです。
- JKS
- Java Cryptography Extensions (JCE) ポリシー・ファイルを使用していない場合、
かつ鍵ストア・ファイルで Java Keystore (JKS) フォーマットを使用している場合は、このオプションを使用します。
- JCEKS
- このオプションは、Java Cryptography Extensions ポリシー・ファイルを使用している場合に使用します。
- JCERACFKS
- 証明書が SAF 鍵リング (z/OS のみ) に格納される場合は、JCERACFKS を使用します。
- PKCS11
- 鍵ストアが PKCS#11 ファイル・フォーマットを使用する場合、このフォーマットを使用します。このフォーマットを使用する鍵ストアには、
暗号ハードウェア上に RSA 鍵が含まれているか、暗号ハードウェアを使用する鍵を暗号化して保護を実行している可能性があります。
- PKCS12
- 鍵ストアが PKCS#12 ファイル・フォーマットを使用する場合、このオプションを使用します。
- 「鍵」フィールドの下にある「追加」をクリックして、
前のステップで指定した鍵ストア・ファイルから鍵項目を追加します。
この鍵は、シグニチャー検証または暗号化解除に使用されます。
ここで指定する鍵は、
ジェネレーターのデジタル署名または暗号化に使用される鍵と一致している必要があります。
以下のステップを実行して、鍵項目を追加します。
- 「別名」フィールドで、この鍵の別名を指定します。
- 「Key pass」フィールドで、この鍵に関連付けるパスワードを指定します。
このパスワードによって、この鍵で指定される鍵ペアの秘密鍵が保護されます。
- 「鍵の名前」フィールドで鍵の名前を指定します。
鍵名は、鍵の所有者の識別名 (DN) を指定します。
- 「OK」をクリックして、鍵ロケーターの構成を保管します。