シグニチャー認証メソッド
シグニチャー認証は、クライアントからサーバーに送信された X.509 証明書を参照します。この証明書を使用して、 サーバーで構成されたユーザー・レジストリーに対して認証を行います。 シグニチャー認証メソッドを使用する場合は、 ds:Signature エレメントと wsse:BinarySecurityToken エレメントを含むセキュリティー・トークンが生成されます。
- シグニチャー・トークンの生成
- 要求送信側は、コールバック・ハンドラーを使用してシグニチャー・セキュリティー・トークンを生成します。
コールバック・ハンドラーが戻すセキュリティー・トークンは、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 を提供していますが、これは、シグニチャー認証メソッドに適合しています。