使用 WSS API 配置 Web Service 安全性

Web Service 安全性应用程序编程接口 (WSS API) 提供对保护 SOAP 消息的支持。

开始之前

Web Service 安全性支持以下编程模型:

  • 用于通过 Web Service 安全性 (WSS API) 保护 SOAP 消息的编程 API。

    API 编程模型已重新设计。新设计是一个基于接口的编程模型并且基于 Web Services Security V1.1 标准,但此设计还支持用于保护 SOAP 消息的 Web Services Security V1.0。WSS API 编程模型实现是一个简化的版本,它基于 JSR-183 的早期建议草案,该建议是用于对 Web Service 安全性的 Java™ API 绑定进行定义的 JSR。由于应用程序代码面向接口编程,因此在设计上,使用开放式源代码实现进行编程的任何应用程序代码应进行很小的改动或根本不需要改动就能够在WebSphere® Application Server 上运行。

  • 服务提供程序的服务编程接口 (SPI)

    类似地,Web Service 安全性运行时令牌生成和令牌使用 SPI 已重新设计,以便可以对 WSS API 和 SPI 使用同一个安全性令牌接口和 JAAS 登录模块实现。服务提供程序的 WSS SPI 扩展了安全性令牌类型并提供用于签署、签名验证、加密和解密的密钥和派生密钥。

用法语句: 必须在 Web service 的上下文中使用 WS-Security 标准的 IBM 实现。

关于此任务

这些编程模型扩展了下列功能:
  • 用于签署的安全性令牌类型和派生密钥
  • 签名和验证
  • 加密和解密

以下图表演示如何使用简化的 WSS API 以通过 XML 数字签名和 XML 加密来保护 SOAP 消息。

Web service 的配置模型也已从部署描述符模型重新设计为策略集模型。配置编程模型基于配置策略集,在配置策略集过程中使用安全策略来指定安全性约束。

策略集配置提供的功能与 Web Service 安全性运行时的 WSS API 所支持的功能相同。但是,使用策略集定义的安全策略的优先级要高于 WSS API 的优先级。在应用程序中同时使用 WSS API 和策略集时,缺省行为适用于来自要执行的策略集和要忽略的 WSS API 的安全策略。要在应用程序中使用 WSS API,必须确保此应用程序或应用程序资源未连接任何策略集,或者必须确保连接策略集中没有任何安全策略。

使用通过管理控制台来配置的策略集,或者通过对配置使用 WSS API,可以支持 Web Service 安全性。

如果使用的是 WSS API,请完成下列高级步骤来保护 SOAP 消息:

过程

  1. 使用 WSSSignature API 为请求生成者(客户端)绑定配置签名信息 可以在生成器端上请求的消息保护中指定不同的消息部件。缺省必需部件是 BODY、ADDRESSING_HEADERS 和 TIMESTAMP。

    另外,WSSSignature API 还指定不同的算法方法,以用于签名,从而实现消息保护。缺省签名方法是 RSA_SHA1。缺省规范方法是 EXC_C14N。

  2. 如果要添加或更改签署部件以用于保护消息,请使用 WSSSignPart API 缺省签署部件是 WSSSignature.BODY、WSSSignature.ADDRESSING_HEADERS 和 WSSSignature.TIMESTAMP。

    如果您添加或更改了签署部件,那么 WSSSignPart API 还指定不同的算法方法供使用。缺省摘要方法是 SHA1。缺省变换方法是 TRANSFORM_EXC_C14N。例如,如果要使用 SHA256 摘要方法取代 SHA1 的缺省值来生成 SOAP 消息的签名,请使用 WSSSignPart API。

  3. 使用 WSSEncryption API 来配置请求生成者端的加密信息 生成器端的加密信息用于对请求生成者(客户端)绑定的出局 SOAP 消息进行加密。加密的缺省目标是 BODY_CONTENT 和 SIGNATURE

    另外,WSSEncryption API 还指定不同的算法方法以用于保护消息机密性。缺省数据加密方法是 AES128。缺省密钥加密方法是 KW_RSA_OAEP。

  4. 如果要添加或更改加密部件以用于确保消息机密性,请使用 WSSEncryptPart API 例如,如果要将数据加密方法从 AES128 的缺省值更改为 TRIPLE_DES。

    加密部件不需要任何算法方法。

  5. 在生成器端使用 WSS API 来连接令牌 安全性令牌的需求取决于令牌类型。JAAS 登录模块和 JAAS CallbackHandler 负责在生成器端创建安全性令牌。在请求或响应中发送不同的独立令牌。缺省令牌是 X509Token。可用于签署的其他令牌是 DerivedKeyToken,它仅与 Web Service 安全对话 (WS-SecureConversation) 配合使用。
  6. 使用 WSSVerification API 来验证响应使用者(客户端)绑定的签名 可以在使用者端上响应的消息保护中指定不同的消息部件。要进行验证的必需目标是 BODY、ADDRESSING_HEADERS 和 TIMESTAMP。

    另外,WSSVerification API 还指定不同的算法方法,以用于验证签名和用于消息保护。缺省签名方法是 RSA_SHA1。缺省规范方法是 EXC_C14N。

  7. 使用 WSSVerifyPart API 添加或更改验证签署部件以用于保护消息 必需验证部件是 WSSVerification.BODY、WSSVerification.ADDRESSING_HEADERS 和 WSSVerification.TIMESTAMP。

    如果您添加或更改了验证部件,那么 WSSVerifyPart API 还指定不同的算法方法供使用。缺省摘要方法是 SHA1。缺省变换方法是 TRANSFORM_EXC_C14N。

  8. 使用 WSSDecryption API 来配置响应使用者(客户端)绑定的解密信息 使用者端的解密信息用于对入局 SOAP 消息进行解密。解密的缺省目标是 BODY_CONTENT 和 SIGNATURE。缺省数据加密方法是 AES128。缺省密钥加密方法是 KW_RSA_OAEP。

    解密不需要任何算法方法。

  9. 如果要添加或更改解密部件以用于确保消息机密性,请使用 WSSDecryptPart API 例如,如果要将数据加密方法从 AES128 的缺省值更改为 TRIPLE_DES。

    解密部件不需要任何算法方法。

  10. 使用 WSS API 来配置使用者端的令牌 安全性令牌的需求取决于令牌类型。JAAS 登录模块和 JAAS CallbackHandler 负责验证(认证)使用者端的安全性令牌。在请求或响应中发送不同的独立令牌。

    WSS API 添加候选令牌的信息以用于解密。缺省令牌是 X509Token。

结果

下一步做什么

Web Service 安全性运行时令牌生成和令牌使用服务编程接口 (SPI) 已重新设计,以便在 WSS API 和 SPI 中可使用相同的安全性令牌接口和 JAAS 登录模块实现。请参阅 SPI 信息,以了解详细描述。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_confwssapi
文件名:twbs_confwssapi.html