Web サービスのメッセージレベルセキュリティーのためのカスタムキーストアの使用
執筆および管理:
2007 年 11 月 [リビジョン番号: V1-3]
このページは、NetBeans 6.0 release に適用されます
目次
キーストア
キーストアは、キーのための保護されたデータベース、または保存機能であり、企業の暗号化キーや証明書を保持します。キーストアへのアクセスはパスワード (キーストアの作成時に定義) で保護されています。キーストア内の個々の非公開鍵をそれぞれ専用のパスワードで保護することもできます。
キーストアには複数の種類のエントリがあります。もっとも一般的な keytool のエントリは次の 2 種類です。
- キーエントリ - それぞれ機密性が非常に高い暗号化キー情報を保持します。不正アクセスを防ぐために保護された形式で保存されます。この種類のエントリに保存されているキーは、通常、対応する公開鍵の証明書「チェーン」が付属する秘密キーまたは非公開鍵です。
- 信頼できる証明書のエントリ - 別の関係者に属する公開鍵証明書を、それぞれ 1 つ含みます。これを「信頼できる証明書」と呼ぶのは、キーストアの所有者が、証明書内の公開鍵が、その証明書の「被認証者」(所有者) のアイデンティティーに属することを信頼するからです。証明書の発行元は証明書に署名することでこれを証明します。
Web サービスプロバイダと Web サービスクライアントでのメッセージレベルセキュリティー
NetBeans Enterprise Pack のアイデンティティー機能を使用すると、開発者は Web サービスプロバイダ (WSP) と Web サービスクライアント (WSC) にメッセージレベルセキュリティーを提供できます。メッセージレベルセキュリティーによって、次の 2 種類のトークンプロファイルを新たに使用できるようになります。
- WS-I Basic Security Profile (BSP ベースのトークンプロファイル。具体的には SAML_SenderVouches、SAML_HolderOfKey、X509、UserNameToken)。
- Liberty ID-WSF 固有のトークンプロファイル。具体的には LibertySAML、LibertyBearer、LibertyX509。
NetBeans のアイデンティティーツールを使用すると、WSP と WSC のセキュリティーウィザードに表示される証明書の設定を使用して、セキュリティートークンまたは応答に署名できます。WSP で使用される証明書設定用のウィザードのスクリーンショットを次に示します。
ここでは、デフォルトで「デフォルトキーストアを使用」オプションが選択されます。このオプションを選択した場合、Access Manager に付属するキーストアが WSP で使用されます。Access Manager サーバーには次の 2 つのキーストアファイルが含まれます。
amclientkeystore.jks: クライアント SDK で使用され、最終的に WSC と WSP の認証プロバイダで使用されます。
- amserverkeystore.jks: サーバーのキーストアファイルであり、セキュリティートークンの生成、要求-応答メッセージの署名や確認のために Access Manager をホストとする Liberty 検出サービスで使用されます。
キーストア
ここでは、デフォルトで「デフォルトキーストアを使用」オプションが選択されます。このオプションを選択した場合、Access Manager に付属するキーストアが WSP で使用されます。Access Manager サーバーには次の 2 つのキーストアファイルが含まれます。
- amclientkeystore.jks: クライアント SDK で使用され、最終的に WSC と WSP の認証プロバイダで使用されます。
- amserverkeystore.jks: サーバーのキーストアファイルであり、セキュリティートークンの生成、要求-応答メッセージの署名や確認のために Access Manager をホストとする Liberty 検出サービスで使用されます。
キーストア
キーストアは、Enterprise Pack をインストールすると使用できます。キーストアには、Access Manager サーバーとクライアント SDK で、次にあげる処理に使用されるキー別名が事前に入力されています。
- セキュリティートークンに署名する (デフォルトで SAML、X509、Liberty)
- WSP からの応答に署名し、WSC で応答を確認する
- WSC で、Liberty 検出サービスが、認証機関に保存されている WSP サービスを問い合わせるようにする
- Liberty 検出サービスにより Liberty セキュリティープロファイルに署名する
デフォルトのキーストアには次の別名が事前に入力されています。
- amclient。外向きの SOAP メッセージに署名する必要があるときに WSC/WSP で使用されます。
- amserver. 検出サービス (Trusted Authority) によってセキュリティートークンの作成に使用されます。WSP では、その公開鍵を使用してこのキーが検証されます。
IDE では、Access Manager Client SDK を使用して Access Manager Server と通信します。
Access Manager Client SDK は、AMConfig .properties というファイルを使用して、サーバーと対話するためのプロパティーが初期設定されます。このクライアント SDK のプロパティーファイルはデフォルトで /addons/amserver/AMConfig.properties にインストールされます。
キーストアの設定に関連する AMConfig.properties のプロパティー
AMConfig.properties ファイルで、キーストアの設定に関連し、ClientSDK/認証プロバイダのランタイムで使用されるプロパティーは次のとおりです。
- com.sun.identity.liberty.ws.wsc.certalias=amclient
- com.sun.identity.liberty.ws.trustedca.certaliases=amserver:localhost
com.sun.identity.liberty.ws.wsc.certalias プロパティーは、Web サービスクライアント/Web サービスプロバイダによって、Liberty の X509 トークンを使用して署名する必要があるすべての外向きの SOAP メッセージに使用されます。たとえば、このプロパティーは、Web サービスクライアントで、サービスの検出サービスを問い合わせるときに使用されます。また、X509 トークンプロファイルを使用して WSP と対話するときにも同じプロパティーが使用されます。
WSP では、com.sun.identity.liberty.ws.trustedca.certaliases プロパティーを使用して、認証機関とその公開鍵が特定されます。たとえば、このプロパティーの値が amserver:localhost の場合、公開鍵が amserver であるローカルホストの検出サービスを信頼していることになります。
キーストアの設定の使用
Enterprise Pack 内で、次の場合にキーストア設定を使用できます。
- SOAP ヘッダー内で送信するトークンプロファイルに署名する。
トークンプロファイルは、SOAP ヘッダー内で送信するときに署名する必要があると仕様で定められています。たとえば、SAML の仕様では、SOAP ヘッダー内で送信する SAML 表明に常に署名する必要があると定められています。
- Web サービスプロバイダから Web サービスクライアントに送信する応答に署名する。
Enterprise Pack のツールを使用すると、ユーザーは WSP から WSC に送信する応答にも署名できます。この機能では完全な SOAP メッセージ (ヘッダーと本文の両方) が署名され、WSC では WSP からの応答を受け入れる前に署名を確認できます。
WSI-BSP トークンプロファイルと Liberty トークンプロファイルでのカスタムキーストアの使用
WSI-BSP トークンプロファイルとカスタムキーストアを使用するには、次の手順に従います。
- 既存のキーストアがあること、また必要なキー別名が入力されていることを確認します。
- 「実行時」ウィンドウでプロファイルを開きます。次の図を参照してください。
- 「既存の証明書設定」セクションで、次の操作を行います。どの値も空にすることはできません。
- 「デフォルトのキーストアを使用」チェックボックス (デフォルトで選択されている) の選択を解除します。
- チェックボックスのあとの各テキストフィールドに次の情報を入力します。
- キーストアファイルのフルパス。サポートされているキーストア形式は JKS だけです。
- キーストアのパスワード。
- 応答の署名またはセキュリティートークンの署名のために WSP で使用するキー別名。
- キー別名のパスワード。キーストアのパスワードと同じであっても有効な値を入力してください。
- 「了解」をクリックして変更を適用します。
- WSC セキュリティーパネルを開きます。前と同じ手順を実行し、WSC で使用するカスタムキーストアの詳細情報を追加します。
- クライアントを配備し、アプリケーションを実行します。
- WSC と WSP で、ユーザーが指定したカスタムキーストアが使用されます。
Liberty トークンプロファイルでのカスタムキーストアの使用
ここでは、Liberty トークンプロファイルにカスタムキーストアを使用する方法を示します。
必要なキー別名が入力された、既存のキーストアが必要です。キーストアは、アプリケーションサーバーのランタイムからローカルでアクセスできる (アプリケーションサーバーのインストール先と物理的に同じ場所にある) 必要があります。
- 「実行時」ウィンドウで、必要な Liberty トークンプロファイルを開きます。
- 前の節で説明したカスタムキーストアの設定を使用します。
- WSC セキュリティーパネルを開きます。前と同じ手順を実行し、WSC で使用するカスタムキーストアの詳細情報を追加します。
- Liberty トークンプロファイルにカスタムキーストアを使用するには、IDE のオンラインヘルプの「Liberty トークンプロファイルのカスタムキーストアの使用」に示す追加設定を行う必要があります。
- Liberty 対応の WSC を実行します。
開発者が指定したカスタムキーストアが使用されます。
ユーザーが指定したカスタムキーストアは、アプリケーションサーバーインスタンスに対して有効です。このインスタンスに配備されたすべてのアプリケーションで同じキーストア設定を使用する必要があります。
関連項目
keytool の使用方法については、次のドキュメントを参照してください。
ページの先頭へ