WebSphere和WS-Security - 不确定的策略集是否设置正确

时间:2016-11-21 15:46:49

标签: web-services soap websphere-8 ws-security

我一直在努力学习WS-Security - 特别是如何使用WebSphere 8.5(完整配置文件)配置和测试它。 (我使用Rational Software Architect 9.5作为IDE。)

我已经完成了几个IBM教程,但是我不满意我创建并附加到SOAP Web服务提供者和客户端的策略集甚至在我测试时都被强制执行。

示例:我在IBM网站上使用了本教程:

使用入门:使用策略集和默认绑定对邮件进行签名和加密(http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-nd-dist&topic=twbs_getstart_policyset

我创建了本教程中描述的策略集 - 一个看似具有以下特征的简单策略集:

  • 出站邮件中发送的时间戳
  • 入站邮件中所需的时间戳
  • 对请求和响应(正文,WS-Addressing标头和时间戳)进行签名
  • 加密请求和响应(SOAP安全标头中的Body和Signature元素)

我将此政策集附加到:

  • 在一个本地WebSphere Application Server实例上设置的Web服务提供者("提供者WAS实例")
  • 在另一个本地WebSphere Application Server实例上设置的Web服务客户端("客户端WAS实例")。

Web Service客户端还有一个基于JSP的测试工具,我使用RSA的Java框架类创建向导进行设置。我设置了基于JSP的工具来调用Provider WAS Instance上的服务。

我根本没有设置证书或密钥,因为这样做不是本教程的一部分。

当我导航到Web服务客户端的基于JSP的测试工具,并且我调用Web服务时,我得到了成功的回复,没有关于签名请求消息的认证失败的消息,也没有关于失败的消息解密客户端。

我不应该遇到这类错误,因为我没有配置任何密钥或证书或将它们与客户端或提供商相关联?如果没有,那么提供者WAS实例和客户端WAS实例使用什么才能使所有这些工作?

我意识到这些是" n00b"问题,但这种材料一直是一个挑战。我很感激任何建议,以帮助我快速加快这个主题的速度。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我最终与IBM创建了一张支持票。 IBM告诉我,我的WebSphere Application Server实例应该启用了应用程序安全性。

如IBM网站上所述,应用程序安全性支持没有具体说明影响WebSphere是否实施Web服务安全策略的设置:

http://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/csec_appsecurity.html

我从未验证IBM的建议是否适用于我们的情况,因为在此期间,我们选择集成WebSphere和Apache CXF。无论如何,我希望其他人认为这些信息很有用。