签名认证方法
签名认证是指客户机发送到服务器的 X.509 证书。该证书用于认证在服务器上配置的用户注册表。当使用签名认证方法时,将生成含有 ds:Signature 和 wsse:BinarySecurityToken 元素的安全性令牌。
要点: V5.x 与 V6.0.x 及更高版本的应用程序之间存在重要差别。这些信息仅支持与 WebSphere® Application Server V6.0.x 和更高版本配合使用的 V5.x 应用程序。这些信息不适用于 V6.0.x 和更高版本的应用程序。
在请求发送方端,调用回调处理程序以生成安全性令牌。在请求接收方端,将使用
Java™ 认证和授权服务 (JAAS) 登录模块来验证安全性令牌。以下部分中描述这两个操作(令牌生成和令牌验证)。
- Signature 令牌生成
- 请求发送方使用回调处理程序生成 Signature 安全性令牌。回调处理程序返回的安全性令牌插入 SOAP 消息中。回调处理程序是在绑定文件 ibm-webservicesclient-bnd.xmi 的 <LoginBinding> 元素中指定的。WebSphere Application Server 提供了以下可以与签名认证方法配合使用的回调处理程序实现:com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
您可以添加自己的实现javax.security.auth.callback.CallbackHandler 实现的回调处理程序。
- 安全性令牌验证
- 请求接收方从 SOAP 消息中检索 Signature 安全性令牌,并使用 JAAS LoginModule 来对其进行验证。使用安全性令牌中的 <ds:Signature>
和 <wsse:BinarySecurityToken> 元素来执行验证。如果验证成功,那么登录模块返回
Java 认证和授权服务 (JAAS) 主体集。然后将此主体集设置为正在运行的线程的标识。如果验证失败,那么以 SOAP 故障异常拒绝请求。
在绑定文件的 <LoginMapping> 元素中指定 JAAS 登录配置。缺省绑定是在 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 缺省配置条目,它适合于签名认证方法。