アセンブリー・ツールによるトークン生成プログラムの構成

このタスクを実行する前に、以下のステップを実行する必要があります。

セキュリティー・トークンは、クライアントによって作成された要求のセットを表します。 この一連の要求には、名前、パスワード、ID、鍵、証明書、グループ、特権などが含まれています。 セキュリティー・トークンは、SOAP ヘッダー内の Simple Object Access Protocol (SOAP) メッセージに組み込まれます。 SOAP ヘッダー内のセキュリティー・トークンは、メッセージの送信側から対象のメッセージ受信側に伝搬されます。

以下のステップを実行して、 ステップ 2 でクライアント・サイドのトークン生成プログラム用のバインディング、 またはステップ 3 でサーバー・サイドのトークン生成プログラム用のバインディングのいずれかを構成します。

  1. ウィンドウ」>「パースペクティブを開く」>「J2EE」の順にクリックします。
  2. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、クライアント・サイドのバインディングを見つけます。 「Client Deployment Descriptor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要があるバインディングが含まれています。
    1. 「Web サービス」>「クライアント」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. WS Binding」タブをクリックして、 「Security Request Generator Binding Configuration」セクションを展開します。
  3. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドのバインディングを検索します。 「Web Services Editor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要があるバインディングが含まれています。
    1. 「Web サービス」>「サービス」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. Binding Configurations」タブをクリックして、「Response Generator Binding Configuration Details」セクションを展開します。
  4. オプション: X.509 セキュリティー・トークン用にこのトークン・コンシューマーを構成する場合は、 トラスト・アンカーを構成します。
    1. 「Trust anchor」セクションを展開し、 「追加」をクリックして新規項目を追加するか、「編集」をクリックして選択した項目を編集します。 「Trust anchor」ダイアログ・ウィンドウが表示されます。
    2. 「Trust anchor name」フィールドにトラスト・アンカー構成の名前を指定します。
    3. 「Key store storepass」フィールドに鍵ストアのパスワードを指定します。 鍵ストアの storepass は、鍵ストア・ファイルへのアクセスに必要なパスワードです。
    4. 「Key store path」フィールドで、鍵ストア・ファイルへのパスを指定します。 鍵ストア・パスは、鍵ストアが置かれているディレクトリーです。アプリケーションをどこにデプロイする場合でも、鍵ストア・ファイルを検出できるようにしておいてください。
    5. 「Key store type」フィールドから、鍵ストアのタイプを選択します。 選択する鍵ストア・タイプは、「Key store path」フィールドで指定された鍵ストア・ファイルと一致している必要があります。
  5. 「Token generator」セクションを展開し、 「追加」をクリックして新規項目を追加するか、「編集」をクリックして選択した項目を編集します。 「Token Generator」ダイアログ・ウィンドウが表示されます。
  6. 「Token generator name」フィールドに固有の名前を指定します。 例えば、gen_signtgen と指定します。 このトークン生成プログラムが X.509 証明書用で、 シグニチャーの生成または暗号化に使用される場合、 トークン生成プログラム名は「Key Information」ダイアログ・ウィンドウの「Token」フィールドで参照されます。
  7. 「Token generator class」フィールドでトークン生成プログラム・クラスを選択します。 構成するトークンのタイプに一致するトークン生成プログラム・クラスを選択します。 このクラスは、com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent インターフェースを実装する必要があります。 以下のデフォルトのトークン生成プログラムの実装がサポートされています。
    • com.ibm.wsspi.wssecurity.token.LTPATokenGenerator
    • com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator
    • com.ibm.wsspi.wssecurity.token.X509TokenGenerator
  8. 「Security token」フィールドでセキュリティー・トークン参照を選択します。 このフィールドのこの値は、拡張ファイルで構成されたセキュリティー・トークンを参照します。
  9. Use value type」オプションを選択して、 「Value type」フィールドで値タイプを選択します。 構成するトークン生成プログラムのタイプに一致するセキュリティー・トークンの値タイプを選択します。 値タイプを選択すると、アセンブリー・ツールは、値タイプで指定されたセキュリティー・トークンのタイプによって、 「Local name」フィールドと「URI」フィールドに正しい値を自動的に入力します。 「Custom Token」を選択した場合は、 生成されたトークンの値タイプのローカル名とネームスペース URI を指定する必要があります。 以下の値タイプがサポートされています。
    • ユーザー名トークン
    • X509 証明書トークン
    • PKIPath 内の X509 証明書
    • PKCS#7 内の X509 証明書および CRL のリスト
    • LTPA トークン
    • カスタム・トークン
  10. 「Call back handler」フィールドにコールバック・ハンドラーのクラス名を指定します。 この名前は、セキュリティー・トークン・フレームワークのプラグインに使用されるコールバック・ハンドラーの実装クラスです。 指定されたコールバック・ハンドラー・クラスは、javax.security.auth.callback.CallbackHandler インターフェースを実装する必要があります。 Java™ Authentication and Authorization Service (JAAS) の javax.security.auth.callback.CallbackHandler インターフェースの実装では、 次の構文を使用してコンストラクターを提供する必要があります。
    MyCallbackHandler(String username, char[] password, java.util.Map properties)
    各部の説明:
    • username は、構成内に渡されるユーザー名を指定します。
    • password は、構成内に渡されるパスワードを指定します。
    • properties は、構成内に渡されるその他の構成プロパティーを指定します。
    以下のデフォルトのコールバック・ハンドラーの実装がサポートされています。
    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
    このコールバック・ハンドラーは、standard-in プロンプトを使用して、ユーザー名およびパスワードを収集します。ただし、 このパネルでユーザー名とパスワードが指定された場合、WebSphere Application Server はプロンプトを表示しませんが、トークン生成プログラムに ユーザー名とパスワードを戻します。 この実装は J2EE アプリケーション・クライアント専用です。
    com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
    このコールバック・ハンドラーは、Run As 呼び出しサブジェクトから Lightweight Third Party Authentication (LTPA) セキュリティー・トークンを取得するために使用されます。 このトークンは、バイナリー・セキュリティー・ トークンとして SOAP メッセージ内で Web サービス・セキュリティー・ヘッダーに挿入されます。 ただし、ユーザー名とパスワードがこのパネルで指定されている場合、WebSphere Application Server は、Run As サブジェクトから LTPA セキュリティー・トークンを 取得するのではなく、ユーザー名とパスワードを認証してこれを取得します。このコールバック・ハンドラーは、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 はコールバック・ハンドラーによってサポートされていないため、コレクション証明書ストアは不要であるか使用されません。

    コールバック・ハンドラーの実装は、必要なセキュリティー・トークンを取得し、それをトークン生成プログラムに渡します。トークン生成プログラムは、セキュリティー・トークンを SOAP メッセージ内の Web サービス・セキュリティー・ヘッダーに挿入します。また、トークン生成プログラムは、プラグ可能なセキュリティー・トークン・フレームワークのプラグイン・ポイントです。 サービス・プロバイダーは、独自の実装を提供できますが、 その実装は、com.ibm.wsspi.wssecurity.token.TokenConsumerComponent インターフェースを使用する必要があります。

  11. 「ユーザー ID」フィールドに基本認証ユーザー 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
  12. 「パスワード」フィールドに基本認証パスワードを指定します。 このパスワードは、コールバック・ハンドラー実装のコンストラクターに渡されます。
  13. オプション: これまでにコールバック・ハンドラー com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler、 com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler、 または com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler のいずれかを選択している場合は、 「Use key store」オプションを選択して、以下のサブステップを実行します。
    1. 「Key store storepass」フィールドに鍵ストアのパスワードを指定します。 このパスワードは鍵ストア・ファイルへのアクセスに使用されます。
    2. 「Key store path」フィールドに鍵ストアのロケーションを指定します。
    3. 「Key store type」フィールドに鍵ストアのタイプを指定します。 以下の鍵ストアのタイプがサポートされています。
      JKS
      鍵ストアが Java Keystore (JKS) 形式を使用する場合は、このオプションを使用します。
      JCEKS
      Java Cryptography Extension が Software Development Kit (SDK) で構成されている場合は、このオプションを使用します。デフォルトの IBM® JCE は、WebSphere Application Server で構成されています。このオプションは、Triple DES 暗号化を使用することにより、保管された秘密鍵の保護をより強化します。
      PKCS11
      鍵ストアが PKCS#11 ファイル形式を使用する場合は、この形式を使用します。この形式を使用する鍵ストアは、暗号ハードウェアについての RSA 鍵を含んでいるか、 暗号ハードウェアを使用する鍵を暗号化して、保護を確実なものにします。
      PKCS12
      鍵ストアが PKCS#12 ファイル形式を使用する場合は、このオプションを使用します。
    4. 「鍵」セクションで「追加」をクリックして、鍵を追加します。除去」をクリックして既存の鍵を除去することもできます。
    5. 「鍵」セクションで、「別名」フィールドに鍵の別名を指定します。 例えば、bob を指定します。 鍵の別名は、鍵ロケーターが鍵ストア・ファイル内の鍵を見つけるときに使用します。
    6. 「鍵」セクションで、「Key pass」フィールドに鍵のパスワードを指定します。 このパスワードは、鍵ストア・ファイル内の鍵オブジェクトにアクセスする際に必要です。
    7. 「鍵」セクションで、「Key name」フィールドに名前を指定します。 鍵の名前は、完全修飾識別名にする必要があります。例えば、CN=Bob,O=IBM,C=US のように指定します。
  14. オプション: トークン生成プログラムが PKCS#7 トークン・タイプを使用している場合に、 証明書失効リスト (CRL) をセキュリティー・トークンにパッケージするときは、 「Use certificate path settings」オプションを選択します。
    1. Certificate path reference」オプションと証明書ストア参照を選択します。 この選択は、「Certificate Store List」セクションで構成された証明書ストアを参照します。 詳しくは、生成プログラム・バインディングのコレクション証明書ストアの構成を参照してください。
  15. オプション: 追加」をクリックして、「プロパティー」セクションで追加のプロパティーを指定します。
    トークン生成プログラムでユーザー名トークンに nonce が含まれている場合は、 次の名前と値の組を追加します。
    名前
    com.ibm.wsspi.wssecurity.token.username.addNonce
    nonce は、メッセージに組み込まれた固有の暗号数値で、ユーザー名トークンの未許可のアタックが繰り返されるのを防ぐために役立ちます。プロパティーは、生成されたトークン・タイプがユーザー名トークンである場合にのみ有効です。 このオプションは、要求ジェネレーターのバインディングに対してのみ使用可能です。
    このトークン生成プログラムでユーザー名トークンにタイム・スタンプが含まれている場合は、 次の名前と値の組を追加します。
    名前
    com.ibm.wsspi.wssecurity.token.username.addTimestamp
    このオプションは、生成されたトークン・タイプがユーザー名トークンである場合にのみ有効であり、 要求ジェネレーターのバインディングに対してのみ使用可能です。
    IBM 拡張デプロイメント記述子に ID 表明が定義されている場合は、 次の名前と値の組を追加します。
    名前
    com.ibm.wsspi.wssecurity.token.IDAssertion.isUsed
    このオプションは、初期送信側の ID のみが必要で、SOAP メッセージ内の Web サービス・セキュリティー・ヘッダーに挿入されることを示します。例えば、WebSphere Application Server は、 ユーザー名トークン生成プログラムの元の呼び出し元のユーザー名を送信するだけです。 X.509 トークン生成プログラムの場合、 アプリケーション・サーバーはオリジナルの署名者認証のみを送信します。
    IBM 拡張デプロイメント記述子に ID 表明が定義されている場合に、 ダウンストリーム呼び出しの ID 表明に最初の呼び出し元の ID ではなく Run As ID を使用するときは、 次の名前と値の組を追加します。
    名前
    com.ibm.wsspi.wssecurity.token.IDAssertion.useRunAsIdentity
    このオプションは、生成されたトークン・タイプがユーザー名トークンである場合にのみ有効です。
  16. OK」をクリックして、構成を保管します。
このトークン生成プログラム構成が X.509 セキュリティー・トークン用である場合は、 鍵情報を構成します。 詳しくは、生成プログラム・バインディング用鍵情報の構成を参照してください。
関連概念
トラスト・アンカー
関連タスク
生成プログラム・セキュリティー制約のセキュリティー・トークンの構成
生成プログラム・バインディング用鍵情報の構成
生成プログラム・バインディングのコレクション証明書ストアの構成

フィードバック