サービス・プロバイダー・コードでは、デフォルトの認証トークンを使用しないでください。
このデフォルト・トークンは、WebSphere Application Server ランタイム・コードによってのみ使用され、
認証メカニズム専用です。
デフォルトの認証トークンに関連付けられている
トークン・ファクトリーの変更
WebSphere Application Server がデフォルトの認証トークンを生成する場合、
アプリケーション・サーバーは、
com.ibm.wsspi.security.token.authenticationTokenFactory プロパティー
を使用して指定される TokenFactory クラスを使用します。
管理コンソールを使用してこのプロパティーを変更するには、
以下のステップを実行します。
- 「セキュリティー」>「管理、アプリケーション、およびインフラストラクチャーの保護」をクリックします。
- 「追加プロパティー」の下の「カスタム・プロパティー」をクリックします。
com.ibm.ws.security.ltpa.LTPATokenFactory トークン・ファクトリーが、
このプロパティーのデフォルトです。LTPATokenFactory トークン・ファクトリーは、DESede/ECB/PKCS5Padding 暗号を使用します。
このトークン・ファクトリーは、相互運用が可能な Lightweight Third Party Authentication (LTPA) トークンを作成します。
このトークン・ファクトリーを変更すると、
WebSphere Application Server の 5.1.1 よりも前のバージョンが実行されているサーバーと、
新規のトークン・ファクトリー・インプリメンテーションをサポートしていない他のサーバーとの
インターオペラビリティーが失われます。
しかし、アプリケーション・サーバーのすべてが WebSphere Application Server バージョン 5.1.1 以降を使用し、
サーバーのすべてが新規トークン・ファクトリーを使用する場合は、
このインターオペラビリティーは問題とはなりません。
com.ibm.ws.security.ltpa.LTPAToken2Factory トークン・ファクトリーを、
com.ibm.wsspi.security.token.authenticationTokenFactory プロパティーと関連付ける場合、
トークンは AES (Advanced Encryption Standard) 暗号化されます。
ただし、セキュリティー・ニーズに対するパフォーマンスを評価する必要があります。
ログイン時に、サブジェクト内の認証トークンに、
ダウンストリームで使用可能なその他の属性を追加することができます。
デフォルトの認証トークンに対して独自の署名および暗号化を行う必要がある場合は、
以下のクラスをインプリメントしてください。
- com.ibm.wsspi.security.ltpa.Token
- com.ibm.wsspi.security.ltpa.TokenFactory
トークン・ファクトリー・インプリメンテーションは、トークン・インプリメンテーションをインスタンス化し (createToken)、
検証します (validateTokenBytes)。トークン・ファクトリーの initialize メソッドに渡される LTPA 鍵を使用することも、
独自の鍵を使用することもできます。
独自の鍵を使用する場合は、これらの鍵を使用して生成されるトークンを検証するために、
どの場所でも同じ鍵を使用する必要があります。
独自のカスタム・トークン・ファクトリーをインプリメントする方法について詳しくは、
インフォメーション・センターのフロントページのリンクから入手可能な API の資料を参照してください。
管理コンソールを使用してトークン・ファクトリーとデフォルトの認証トークンを関連付けるには、
以下のステップを実行します。
- 「セキュリティー」>「管理、アプリケーション、およびインフラストラクチャーの保護」をクリックします。
- 「追加プロパティー」の下の「カスタム・プロパティー」をクリックします。
- com.ibm.wsspi.security.token.authenticationTokenFactory プロパティーを探して、このプロパティーの値がカスタム・トークン・ファクトリー実装と一致していることを確認します。
- インプリメンテーション・クラスが install_dir/classes ディレクトリーに置かれていて、
WebSphere Application Server クラス・ローダーがそのクラスをロードできることを確認します。
- QEJBSVR ユーザー・プロファイルが、classes ディレクトリーに対して、
権限の読み取り、書き込み、および実行 (*RWX) を行ったことを確認します。権限の使用 (WRKAUT) コマンドを使用すると、
そのディレクトリーの権限許可を表示することができます。