我在项目中使用axis2实现了webservice(服务器端)。我们希望在现有Web服务中启用WS-security。我们正在评估apache ramapart模块是否符合我们的需求。这是我们的要求: 基本上我们有内部安全框架,提供加密,签名和令牌生成功能。我们的内部安全框架基本上需要一组XML形式的配置,它公开了各种API来执行各种安全操作。
现在有了上述环境,我可以想到三个可能的解决方案: -
我可以围绕内部安全框架开发一个axis2模块,并在安全阶段将其安装为.mar文件。所以我不会使用apache rampart。但是这种方法的问题是我不能使用ws-security策略来指定安全断言并确保传入的安全性令牌符合有效的策略。这就像重新发明轮子已经做的那样。
我相信apache rampart强调要求apache wss4j模块进行安全操作。我相信apache wss4j模块提供了一种注册第三方安全提供程序的方法(通过实现CryptoProvider接口)。我不确定这是否是可行和可行的解决方案。请建议。
Ws-security策略允许使用自定义令牌。可以使用我们的内部安全框架构建此自定义令牌。所以基本上它使我们能够使用apache rampart模块创建ws-security策略,并使用我们的安全框架开发自定义令牌。但我在互联网上找不到这方面的帮助。有没有人可以帮忙举例。
任何其他建议也是最受欢迎的。
答案 0 :(得分:1)
我在这里发布了一个答案:How to encrypt SOAP messages manually?
有一个非常详细的例子,你可能会觉得有用。
您可以使用以下方式设置提供者:
cryptoConfig.setProvider(PROVIDER);
关于自定义安全标题,我很抱歉,但我没有尝试,所以我无法帮助你。