IBM WebSphere Application Server バージョン 6.1 Feature Pack の Web サービス・セキュリティー・ランタイムの、トークン処理およびプラグ可能トークン・アーキテクチャーは、Web Services Security API (WSS API) に使用されたのと同じセキュリティー・トークン・インターフェースおよび JAAS ログイン・モジュールを再使用するよう再設計されています。 同じ実装のトークン作成および検証を、Web Service Security ランタイムの WSS API および WSS SPI の両方で使用できます。
IBM WebSphere Application Server バージョン 6.1 Feature Pack for Web Services では、新規の設計により WebSphere Application Server バージョン 6.1 での以下のインターフェースの必要がなくなります。
ただし、ご使用のアプリケーションで引き続き、Feature Pack for Web Services の代わりに、JAX-RPC およびデプロイメント記述子を構成に使用する場合、これらのバージョン 6.1 インターフェースは有効なままです。
現在の OASIS Web Services Security ドラフト仕様では定義された KeyName ポリシー表明がないため、Feature Pack for Web Services では、鍵の名前 (KeyName) エレメントがサポートされないことに、注意してください。 同様の理由で、すぐに使用可能な Feature Pack for Web Services では SAML トークンはサポートされていません。
Feature Pack for Web Services の新しい設計を使用して、Java Authentication および Authorization Service (JAAS) コールバック・ハンドラー (CallbackHandler) および JAAS ログイン・モジュール (LoginModule) 実装は、ジェネレーター側のセキュリティー・トークンの作成、およびコンシューマー側のセキュリティー・トークンの検証を担当します。
例えばジェネレーター側では、ユーザー名トークンは JAAS LoginModule で作成され、JAAS CallbackHandler を使用して認証データを受け渡します。JAAS LoginModule は、ユーザー名の SecurityToken オブジェクトを作成し、それを Web サービスのセキュリティー・ランタイムに受け渡します。
次に、コンシューマー側で、ユーザー名トークン XML フォーマットが、検証または認証のために JAAS LoginModule に受け渡されます。 応答コンシューマーのトークン・コンシューマー・クラス名は、 要求ジェネレーターのトークン・ジェネレーター・クラス名と類似している必要があります。 例えば、アプリケーションがユーザー名トークン・コンシューマーを必要とする場合、トークン・ジェネレーターに com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator クラス名を指定し、トークン・コンシューマーに com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer クラス名を指定することができます。
JAAS CallbackHandler は、Web サービス・セキュリティー・ランタイムから LoginModule に認証データを受け渡すのに使用されます。成功した場合、トークンが認証されると、ユーザー名 SecurityToken オブジェクトが作成され、Web Service Security ランタイムにそれを受け渡します。
エラー条件が発生した場合、SPI 実装は com.ibm.wsspi.wssecurity.SoapSecurityException 例外を提供します。 このクラスは、WebSphere Application Server バージョン 6.1 で使用されたクラスと同じ実装です。
トークン・ジェネレーター・クラスは、com.ibm.websphere.wssecurity.wssapi.token.Generatable インターフェースを実装する必要があります。 要求ジェネレーターのトークン・ジェネレーター・クラス名は、要求コンシューマー のトークン・コンシューマー・クラス名と類似している必要があります。 例えば、ご使用のアプリケーションにセキュリティー・トークン・ジェネレーターが必要な場合、 com.ibm.websphere.wssecurity.wssapi.token.SecurityTokenImpl クラス名を指定できます。
JAAS ログイン・モジュール実装は、デフォルトのトークン・ジェネレーターから JAAS LoginModule への以下の引数を処理します。
デフォルトのトークン・ジェネレーター > LoginModule
鍵情報のタイプには、EMB、KEYID、STRREF、THUMBPRINT、または X509ISSUER があります。
鍵のタイプには、SigningKey または EncryptingKey があります。
JAAS ログイン・モジュール実装は、JAAS ログイン・モジュールからデフォルトのトークン・ジェネレーターへの以下の引数を処理します。
カスタム・プロパティーは、ジェネレーター側の構成中に JAAS ログイン・モジュールとの間で受け渡しされるデータの「名前-値」のペアです。
「プロパティー名」 欄には、カスタム・プロパティーの名前が表示されます。 名前は、JAAS ログイン・モジュールが理解および予期する構成プロパティーの名前または設定値と一致しなければなりません。 「プロパティー値」欄には、構成中に JAAS ログイン・モジュールに受け渡される構成設定が表示されます。
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_MESSAGE_CONTEXT com.ibm.wsspi.wssecurity.core.messageContext |
MessageContext インスタンス。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_TYPE com.ibm.wsspi.wssecurity.keyinfo.keytype |
鍵のタイプ: SigningKey。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ALGORITHM com.ibm.wsspi.wssecurity.keyinfo.keyAlgorithm |
署名操作に使用されるアルゴリズム。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_TYPE com.ibm.wsspi.wssecurity.keyinfo.keytype |
鍵のタイプ: EncryptingKey。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ALGORITHM com.ibm.wsspi.wssecurity.keyinfo.keyAlgorithm |
暗号化操作に使用されるアルゴリズム。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEYINFO_TYPE com.ibm.wsspi.wssecurity.keyinfo.type |
鍵情報のタイプ: EMB、KEYID、STRREF、 THUMBPRINT、X509ISSUER。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ENCODING com.ibm.wsspi.wssecurity.keyinfo.Encoding |
CommonContentGenerator が、KEYID または THUMBPRINT タイプの鍵情報で CommonTokenGenerator を呼び出す場合の、鍵 ID のエンコード・タイプ。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_IDTYPE com.ibm.wsspi.wssecurity.keyinfo.idType |
CommonContentGenerator が、KEYID タイプの鍵情報で CommonTokenGenerator を呼び出す場合の、鍵 ID の計算方法。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_TOKEN_LOGININFO com.ibm.wsspi.wssecurity.token.loginInfo |
JAAS ログイン・モジュールが作成するセキュリティー・トークン。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.config.TokenGeneratorConfig.CONFIG_KEY com.ibm.wsspi.wssecurity.config.tokenGenerator.configKey |
トークン・ジェネレーターの構成。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_PROCESSING_ELEMENT com.ibm.wsspi.wssecurity.core.processingElement |
セキュリティー・トークンの親エレメント。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_TOKEN_LOGININFO |
JAAS ログイン・モジュールが作成するセキュリティー・トークンのリスト。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_ELEM_INSERT_TO_MESSAGE |
JAAS ログイン・モジュールから受け取るセキュリティー・トークンがメッセージに挿入される場合、True。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_REFERENCED_TOKEN |
リストのほかのトークンにより参照されるセキュリティー・トークン。 トークンは、最初 <wsse:Security> ヘッダーに挿入されます。 |
JAAS ログイン・モジュール実装は、デフォルトのトークン・コンシューマーから JAAS LoginModule への以下の引数を処理します。
デフォルトのトークン・コンシューマー > JAAS ログイン・モジュール
鍵情報のタイプには、EMB、KEYID、STRREF、THUMBPRINT、または X509ISSUER があります。
鍵のタイプには VerifyingKey または DecryptingKey があります。
以下の情報は、コンシューマー側で Feature Pack for Web Services と共に使用される Web サービス・セキュリティーのサービス・プロバイダー・インターフェース (SPI) のデフォルトの実装を説明したものです。
カスタム・プロパティーは、コンシューマー側の構成中に JAAS ログイン・モジュールとの間で受け渡しされるデータの「名前-値」のペアです。
「プロパティー名」 欄には、カスタム・プロパティーの名前が表示されます。 名前は、JAAS ログイン・モジュールが理解および予期する構成プロパティーの名前または設定値と一致しなければなりません。 「プロパティー値」欄には、構成中に JAAS ログイン・モジュールに受け渡される構成設定が表示されます。
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_MESSAGE_CONTEXT |
MessageContext インスタンス。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_TYPE com.ibm.wsspi.wssecurity.keyinfo.typetype |
鍵のタイプ: VerifyingKey |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ALGORITHM com.ibm.wsspi.wssecurity.keyinfo.keyAlgorithm |
検証操作に使用されるアルゴリズム |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_TYPE com.ibm.wsspi.wssecurity.keyinfo.keytype |
鍵のタイプ: DecryptingKey。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ALGORITHM com.ibm.wsspi.wssecurity.keyinfo.keyAlgorithm |
暗号化解除操作に使用されるアルゴリズム。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEYINFO_TYPE com.ibm.wsspi.wssecurity.keyinfo.type |
鍵情報のタイプ: EMB、KEYID、STRREF、THUMBPRINT、X509ISSUER |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_EMBID com.ibm.wsspi.wssecurity.keyinfo.embeddedId |
<wsse:Embedded の ID > エレメント CommonContentConsumer は、共通のトークン・コンシューマーに EMB タイプの情報を必要とします。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ID com.ibm.wsspi.wssecurity.keyinfo.id |
CommonContentConsumer が KEYID タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、鍵 ID。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_THUMBPRINT_REFERENCE com.ibm.wsspi.wssecurity.keyinfo.thumbprintReference |
CommonContentConsumer が THUMBPRINT タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、親指の指紋参照。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_REFERENCE com.ibm.wsspi.wssecurity.keyinfo.reference |
CommonContentConsumer が STRREF タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、トークンの参照 URI。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ISSUERNAME com.ibm.wsspi.wssecurity.keyinfo.issuerName |
CommonContentConsumer が X509ISSUER タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、トークン発行者の名前。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ISSUERSERIAL com.ibm.wsspi.wssecurity.keyinfo.issuerSerial |
CommonContentConsumer が X509ISSUER タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、トークンのシリアル番号の発行者。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_VALUETYPE com.ibm.wsspi.wssecurity.keyinfo.ValueType |
CommonContentConsumer が KEYID または THUMBPRINT タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、鍵 ID の値のタイプ。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_ENCODING com.ibm.wsspi.wssecurity.keyinfo.Encoding |
CommonContentConsumer が KEYID または THUMBPRINT タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、鍵 ID のエンコード・タイプ。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_KEY_IDTYPE com.ibm.wsspi.wssecurity.keyinfo.idType |
CommonContentConsumer が KEYID タイプの鍵情報で CommonTokenConsumer を呼び出した場合の、鍵 ID の計算方法。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_TOKEN_LOGININFO com.ibm.wsspi.wssecurity.token.loginInfo |
JAAS ログイン・モジュールが作成するセキュリティー・トークン。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_TOKEN_LOGININFO com.ibm.wsspi.wssecurity.token.loginInfo |
トークン・コンシューマーの構成。 |
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_PROCESSING_ELEMENT com.ibm.wsspi.wssecurity.core.processingElement |
WSSConsumer が直接 CommonTokenConsumer を呼び出すか、または
CommonContentConsumer が EMB タイプの鍵情報で CommonTokenConsumer を呼び出す場合のターゲットのセキュリティー・トークン・エレメント。
CommonContentConsumer が KEYID、STRREF、THUMBPRINT、または X509ISSUER タイプの鍵情報で CommonTokenConsumer を呼び出した場合の KeyInfo エレメント。 |
プロパティー名 | プロパティー値 |
---|---|
com.ibm.wsspi.wssecurity.core.Constants.WSSECURITY_TOKEN_LOGININFO com.ibm.wsspi.wssecurity.token.loginInfo |
JAAS ログイン・モジュールが作成するセキュリティー・トークン。 |