サーバー・レベルまたはセル・レベルのトークン・ジェネレーターは、これらのバインディングがアプリケーション・レベルで
定義されていない場合に、トークン・ジェネレーターの情報を指定するために使用されます。
署名情報および暗号化情報はトークン・ジェネレーター情報を共用することができますが、
これは、これらがすべて同じレベルで定義されているためです。
このタスクについて
WebSphere Application Server には、バインディングのデフォルト値が用意されています。
ユーザーは実稼働環境用にデフォルトを変更する必要があります。
サーバー・レベルでトークン・ジェネレーターを構成するには、以下のステップを実行します。
プロシージャー
- サーバー・レベルのデフォルト・バインディングにアクセスします。
- 「サーバー」>「アプリケーション・サーバー」>「server_name」とクリックします。
- 「セキュリティー」の下の「Web サービス: Web サービス・セキュリティーのデフォルト・バインディング」をクリックします。
- 「デフォルト・ジェネレーター・バインディング」の下の「トークン・ジェネレーター」をクリックします。
- 「新規」をクリックしてトークン・ジェネレーター構成を作成するか、「削除」をクリックして
既存の構成を削除するか、既存のトークン・ジェネレーター構成の名前をクリックして、その設定を編集します。
新規構成を作成している場合は、
「Token generator name」フィールドにそのトークン・ジェネレーター構成の固有の名前を入力します。
例えば、sig_tgen などです。
このフィールドは、トークン・ジェネレーター・エレメントの名前を指定します。
- 「Token generator class name」フィールドでクラス名を指定します。
トークン・
ジェネレーター・クラスは、com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent インターフェースを
実装する必要があります。トークン・ジェネレーターのクラス名は、
トークン・コンシューマーのクラス名と類似している必要があります。
例えば、アプリケーションが X.509 証明書トークン・コンシューマーを
必要とする場合、「トークン・コンシューマー」パネルで com.ibm.wsspi.wssecurity.token.X509TokenConsumer クラス名を、
このフィールドで com.ibm.wsspi.wssecurity.token.X509TokenGenerator クラス名を指定することができます。
WebSphere Application Server には、以下のデフォルトのトークン・ジェネレーター・クラス・インプリメンテーションが用意されています。
- com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator
- このインプリメンテーションは、ユーザー名トークンを生成します。
- com.ibm.wsspi.wssecurity.token.X509TokenGenerator
- このインプリメンテーションは、X.509 証明書トークンを生成します。
- com.ibm.wsspi.wssecurity.token.LTPATokenGenerator
- このインプリメンテーションは、Lightweight Third Party Authentication (LTPA) トークンを生成します。
- 証明書パス・オプションを選択します。
証明書パスは、証明書失効リスト (CRL) とともに PKCS#7 内にラップされたセキュリティー・トークンの生成に使用される、
CRL を指定します。
WebSphere Application Server には、以下の証明書パス・オプションが用意されています。
- なし
- セキュリティー・トークンの生成に CRL を使用しない場合、このオプションを選択します。
トークン・ジェネレーターが PKCS#7 トークン・タイプを使用しない場合は、
このオプションを選択する必要があります。
- 専用署名情報
- CRL がセキュリティー・トークン内でラップされる場合、「専用署名情報」を選択し、「証明書ストア」フィールドからコレクション証明書ストア名を選択します。
「証明書ストア」フィールドには、既に定義されているコレクション証明書ストアの名前が表示されます。
セル・レベルでコレクション証明書ストアを定義するには、
サーバー・レベルセル・レベルでのコレクション証明書の構成
を参照してください。
- 「nonce を追加」オプションを選択して、トークン・ジェネレーターのユーザー名に nonce を組み込みます。
nonce はメッセージに組み込まれた固有の暗号数値であり、
ユーザー名トークンの、繰り返される未許可の攻撃を防ぐのに役立ちます。
「nonce を追加」オプションは、トークン・ジェネレーターのユーザー名トークンを指定する場合に使用することができます。
- 「タイム・スタンプの追加」オプションを選択して、トークン・ジェネレーターのユーザー名トークンにタイム・スタンプを組み込みます。
- 「Local name」フィールドで値タイプのローカル名を指定します。
この項目は、鍵 ID によって参照されるセキュリティー・トークンの値タイプのローカル名を指定します。
この属性は、鍵情報タイプとして「鍵 ID」が選択されている場合に有効です。
鍵情報タイプを指定するには、
サーバーまたはセル・レベルでのジェネレーター・バインディングの鍵情報の構成
を参照してください。
WebSphere Application Server には、以下の事前定義
X.509 証明書トークン構成が用意されています。
- X.509 証明書トークン
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3
- PKIPath 内の X.509 証明書
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
- PKCS#7 内の X.509 証明書および CRL のリスト
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
- LTPA
- LTPA の場合、値タイプのローカル名は LTPA です。
ローカル名に LTPA を入力する場合、
「Value type URI」フィールドにも http://www.ibm.com/websphere/appserver/tokentype/5.0.2 uniform resource identifier (URI) 値を指定する必要があります。
- LTPA_PROPAGATION
- LTPA トークンの伝搬の場合、値のタイプのローカル名は LTPA_PROPAGATION です。
ローカル名に LTPA_PROPAGATION を入力する場合は、
「Value type URI」フィールドも http://www.ibm.com/websphere/appserver/tokentype の
URI 値を指定する必要があります。
例えば、X.509 証明書トークンが指定される場合、
ローカル名に http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 を使用することができます。
- 「URI」フィールドで値タイプ URI を指定します。 この項目は、鍵 ID によって参照されるセキュリティー・トークンの値タイプのネーム・スペース URI を指定します。
この属性は、デフォルトのジェネレーターの「鍵情報」パネルで、
鍵情報タイプとして「鍵 ID」が選択されている場合に有効です。
X.509 証明書トークンを指定する場合、
ネーム・スペース URI を指定する必要はありません。
別のトークンを指定する場合は、
その値タイプのネーム・スペース URI を指定する必要があります。
- 「OK」をクリックしてから「保管」をクリックして、構成を保管します。
- トークン・ジェネレーター構成の名前をクリックします。
- 「追加プロパティー」の下の「コールバック・ハンドラー」をクリックして、コールバック・ハンドラー・プロパティーを構成します。
コールバック・ハンドラーは、
SOAP メッセージ内の Web サービス・セキュリティー・ヘッダーに挿入される
セキュリティー・トークンの取得方法を指定します。
このトークン取得は、セキュリティー・トークンを取得するために
Java Authentication and Authorization Service (JAAS) javax.security.auth.callback.CallbackHandler インターフェースを利用するプラグ可能なフレームワークです。
- 「コールバック・ハンドラーのクラス名」フィールドで
コールバック・ハンドラー・クラス・インプリメンテーションを指定します。
この属性は、セキュリティー・トークン・フレームワークをプラグインするために
使用するコールバック・ハンドラー・クラス・インプリメンテーションの名前を指定します。
指定したコールバック・ハンドラー・クラスは、javax.security.auth.callback.CallbackHandler クラスをインプリメントしなければなりません。
WebSphere Application Server は、以下のデフォルトのコールバック・ハンドラー・インプリメンテーションを提供します。
- com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
- このコールバック・ハンドラーは、ログイン・プロンプトを使用して、ユーザー名およびパスワード情報を収集します。
ただし、このパネルでユーザー名およびパスワードを指定した場合、
プロンプトは表示されず、WebSphere Application Server はユーザー名およびパスワードをトークン・ジェネレーターに戻します。
このインプリメンテーションは、
Java 2 Platform, Enterprise Edition (J2EE) アプリケーション・クライアントに対してのみ使用してください。
- com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
- このパネルの基本認証セクションで指定されている場合、
このコールバック・ハンドラーは、プロンプトを発行しないで、ユーザー名とパスワードを戻します。
Web サービスがクライアントとして機能している場合は、
このコールバック・ハンドラーを使用することができます。
- com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
- このコールバック・ハンドラーは、ユーザー名およびパスワードを収集するための標準プロンプトを使用します。
ただし、ユーザー名およびパスワードがこのパネルの基本認証セクションで指定される場合、
WebSphere Application Server はプロンプトは表示せずに、
トークン・ジェネレーターにユーザー名およびパスワードを戻します。
このインプリメンテーションは、
Java 2 Platform, Enterprise Edition (J2EE) アプリケーション・クライアントに対してのみ使用してください。
- com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
- このコールバック・ハンドラーは、Run As 起動 Subject から Lightweight Third Party Authentication
(LTPA) セキュリティー・トークンを取得するために使用されます。
このトークンは、バイナリー・セキュリティー・トークンとして、SOAP メッセージ内で Web サービス・セキュリティー・ヘッダーに挿入されます。
ただし、このパネルの基本認証セクションでユーザー名およびパスワードが指定されると、
WebSphere Application Server はユーザー名およびパスワードを認証して、LTPA セキュリティー・トークンを取得します。
セキュリティー・トークンは、Run As Subject から取得するのではなく、この方法で取得します。
このコールバック・ハンドラーは、Web サービスがアプリケーション・サーバー上でクライアントとして機能している場合のみ使用してください。
このコールバック・ハンドラーを J2EE アプリケーション・クライアント上で使用することはお勧めしません。
- com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
- このコールバック・ハンドラーは、バイナリー・セキュリティー・トークンとして SOAP メッセージ内の Web サービス・
セキュリティー・ヘッダーに挿入される X.509 証明書を作成するために使用されます。
このコールバック・ハンドラーには、鍵ストア・ファイルおよび鍵定義が必要です。
- com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
- このコールバック・ハンドラーは、
PKCS#7 フォーマットでエンコードされる X.509 証明書を作成するために使用されます。
この証明書は、バイナリー・セキュリティー・トークン
として、SOAP メッセージで Web サービス・セキュリティー・ヘッダーに挿入されます。
このコールバック・ハンドラーには鍵ストア・ファイルが必要です。
コレクション証明書ストアで証明書失効リスト (CRL) を指定する必要があります。
CRL は、PKCS#7 フォーマットの X.509 証明書でエンコードされています。
コレクション証明書ストアの構成について詳しくは、
サーバー・レベルセル・レベルでのコレクション証明書の構成
を参照してください。
- com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
- このコールバック・ハンドラーは、PkiPath フォーマットでエンコードされる X.509 証明書を作成するために使用されます。
この証明書は、バイナリー・セキュリティー・トークン
として SOAP メッセージ内で Web サービス・セキュリティー・ヘッダーに挿入されます。
このコールバック・ハンドラーには鍵ストア・ファイルが必要です。
CRL はコールバック・ハンドラーによってサポートされていないため、
コレクション証明書ストアは不要で使用されません。
X.509 証明書トークンの場合、com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler インプリメンテーションを指定できます。
- オプション: 「ID アサーションを使用」オプションを選択します。
IBM 拡張デプロイメント記述子で定義された ID アサーションがある場合は、
このオプションを選択します。このオプションは、初期送信側の ID のみが必要で、
SOAP メッセージ内の Web サービス・セキュリティー・ヘッダーに挿入されることを示します。
例えば、WebSphere Application Server は、ユーザー名トークン・ジェネレーターの元の呼び出し元のユーザー名のみを送信します。
X.509 トークン・ジェネレーターの場合、
アプリケーション・サーバーはオリジナルの署名者認証のみを送信します。
- オプション: 「RunAs ID を使用」オプションを選択します。
以下の条件を満たしている場合、このオプションを選択します。
- IBM 拡張デプロイメント記述子で定義された ID アサーションがある。
- ダウンストリーム呼び出しの ID アサーションで、
初期呼び出し元 ID の代わりに Run As ID を使用する。
- オプション: 「ユーザー ID」フィールドおよび「パスワード」フィールドに、
基本認証ユーザー ID およびパスワードを指定します。
この項目は、コールバック・ハンドラー・インプリメンテーションの
コンストラクターに渡されるユーザー名およびパスワードを指定します。
WebSphere Application Server に用意された以下のデフォルトのコールバック・ハンドラー・インプリメンテーション
のいずれかを指定する場合、基本認証ユーザー ID およびパスワードが使用されます。
- com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
- オプション: 鍵ストアのパスワードおよびパスを指定します。
トークンを生成するために鍵または証明書が使用される場合、鍵ストアおよびその関連情報が必要です。
例えば、WebSphere Application Server に用意された以下のデフォルトの
コールバック・ハンドラー・インプリメンテーションのいずれかを選択する場合、鍵ストア情報が必要です。
- com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
鍵ストア・ファイルには、公開鍵および秘密鍵、ルート認証局 (CA) 証明書、中間 CA 証明書などが含まれています。
鍵ストア・ファイルから取得された鍵は、
メッセージやメッセージ・パーツの署名および妥当性検査、または暗号化や暗号化解除に使用されます。
鍵ストア・ファイルから鍵を取得するには、
鍵ストア・パスワード、鍵ストア・パス、および鍵ストア・タイプを指定する必要があります。
- 「タイプ」フィールドから鍵ストア・タイプを選択します。 WebSphere Application Server には、以下のオプションが用意されています。
- JKS
- Java Cryptography Extensions (JCE) を使用していない場合、
かつ鍵ストア・ファイルで Java Keystore (JKS) フォーマットを使用している場合は、このオプションを使用します。
- JCEKS
- このオプションは、Java Cryptography Extensions を使用している場合に使用します。
- JCERACFKS
- 証明書が SAF 鍵リング (z/OS のみ) に格納される場合は、JCERACFKS を使用します。
- PKCS11KS (PKCS11)
- 鍵ストア・ファイルで PKCS#11 ファイル・フォーマットを使用する場合は、このフォーマットを使用します。
このフォーマットを使用する鍵ストア・ファイルには、暗号ハードウェア上に RSA 鍵が含まれている場合、または
暗号ハードウェアを使用する鍵を暗号化して保護を実行する場合があります。
- PKCS12KS (PKCS12)
- 鍵ストア・ファイルが PKCS#12 ファイル・フォーマットを使用する場合、このオプションを使用します。
- 「OK」をクリックしてから「保管」をクリックして、構成を保管します。
- トークン・ジェネレーター構成の名前をクリックします。
- 「追加プロパティー」の下で、「コールバック・ハンドラー」>「鍵」とクリックします。
- 「新規」をクリックして鍵構成を作成するか、「削除」をクリックして既存の構成を削除するか、
既存の鍵構成の名前をクリックして、その設定を編集します。
新規構成を作成している場合は、
「鍵の名前」フィールドに鍵構成の固有の名前を入力します。
この名前は、
鍵ストア・ファイル内に保管されている鍵オブジェクトの名前を参照します。
- 「鍵の別名」フィールドで鍵オブジェクトの別名を指定します。
鍵ロケーターが鍵ストア内の鍵オブジェクトを探す場合は、この別名を使用してください。
- 「鍵パスワード」フィールドで、この鍵に関連付けられたパスワードを指定します。
- 「OK」および「保管」をクリックして、構成を保管します。
結果
サーバー・レベルまたはセル・レベルのトークン・ジェネレーターが構成されました。
次の作業
同様のトークン・コンシューマー構成を指定する必要があります。