シグニチャー認証は、クライアントからサーバーに送信された X.509 証明書を参照します。その証明書を使用して、
サーバーで構成されたユーザー・レジストリーに対して認証を行います。
シグニチャー認証メソッドを使用する場合は、
ds:Signature エレメントと wsse:BinarySecurityToken エレメントを含むセキュリティー・トークンが生成されます。
重要: バージョン 5.x とバージョン 6.0.x
以降のアプリケーションには重要な相違点があります。この資料の情報は、WebSphere Application Server バージョン 6.0.x 以降で使用されるバージョン 5.x アプリケーションのみをサポートしています。この情報はバージョン 6.0.x
以降のアプリケーションには適用されません。
要求送信側では、コールバック・ハンドラーを起動してセキュリティー・トークンを生成します。
要求受信側では、Java Authentication and Authorization Service (JAAS) ログイン・モジュールを使用してセキュリティー・トークンを検証します。この 2 つの操作 (トークンの生成とトークンの検証) については、
以降のセクションで説明します。
- シグニチャー・トークンの生成
- 要求送信側は、コールバック・ハンドラーを使用してシグニチャー・セキュリティー・トークンを生成します。
コールバック・ハンドラーが戻すセキュリティー・トークンは、SOAP メッセージに挿入されます。コールバック・ハンドラーは、
バインディング・ファイル ibm-webservicesclient-bnd.xmi の <LoginBinding> エレメントで指定します。
WebSphere Application Server は、シグニチャー認証メソッドで使用できる、
コールバック・ハンドラー・インプリメンテーション com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler を提供します。
javax.security.auth.callback.CallbackHandler インプリメンテーションをインプリメントする独自のコールバック・ハンドラーを追加することもできます。
- セキュリティー・トークンの検証
- 要求受信側は、
SOAP メッセージからシグニチャー・セキュリティー・トークンを取り出し、
JAAS ログイン・モジュールを使用してそのメッセージを検証します。
検証の実行には、
セキュリティー・トークンに含まれる <ds:Signature> エレメントと <wsse:BinarySecurityToken> エレメントが使用されます。
検証に成功すると、
ログイン・モジュールは Java Authentication and Authorization Service (JAAS) サブジェクトを戻します。
次いで、このサブジェクトが実行スレッドの ID として設定されます。
検証に失敗した場合は、SOAP 障害例外が出されて、要求はリジェクトされます。
JAAS ログイン構成は、
バインディング・ファイルの <LoginMapping> エレメントで指定します。
デフォルト・バインディングは、
ws-security.xml ファイルで指定します。
しかし、アプリケーション固有の ibm-webservices-bnd.xmi ファイルを使用してそのバインディングをオーバーライドすることができます。
構成情報は、CallbackHandlerFactory と ConfigName で構成されています。
CallbackHandlerFactory は、JAAS CallbackHandler オブジェクトの作成に使用されるクラスの名前を指定します。
WebSphere Application Server は、
com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImp CallbackHandlerFactory インプリメンテーションを提供します。
ConfigName は、JAAS 構成名エントリーを指定します。
WebSphere Application Server は、security.xml ファイルで一致する構成名エントリーを検索します。
一致するものが見つからない場合は、wsjaas.conf ファイルを検索します。
WebSphere Application Server は、
デフォルトの構成エントリーとして system.wssecurity.Signature を提供していますが、
これは、シグニチャー認証メソッドに適合しています。