2011-10-06 74 views
5

我的webservice(服务器端)使用axis2在我的项目中实现。我们希望在现有的Web服务中启用WS-Security。我们正在评估apache ramapart模块是否符合我们的需求。这是我们的要求: 基本上我们有内部安全框架,它提供加​​密,签名和令牌生成功能。我们的内部安全框架基本上需要一组XML格式的配置,并公开各种API以执行各种安全操作。使用axis2自带的安全框架ramaprt模块

现在有了以上的环境中,我能想到的三个possbile解决方案: -

  1. 我可以围绕制定一个Axis2模块内部的安全框架,并把它安装在安全阶段.mar文件。所以我不会使用Apache的垒。但是这种方法的问题是我不能使用ws-security策略来指定安全声明并确保传入的安全令牌符合有效的策略。这就像重新发明轮子已经做过的事情。

  2. 我相信apache rampart强调呼吁apache wss4j模块的安全操作。我相信apache wss4j模块提供了一种注册第三方安全提供程序的方法(通过实现CryptoProvider接口)。我不确定这是否可行和可行的解决方案。请建议。

  3. Ws安全策略允许使用自定义令牌。该自定义令牌可以使用我们的内部安全框架进行构建。所以基本上它使我们能够使用apache rampart模块创建ws安全策略,并使用我们的安全框架开发自定义令牌。但是我在互联网上找不到这方面的帮助。任何人都可以请示例帮忙。

任何其他建议也是最受欢迎的。

回答

1

我已经在这里张贴解答:How to encrypt SOAP messages manually?

有一个很详细的例子那里,你可能会发现有用。

您可以通过使用设置提供商:

cryptoConfig.setProvider(PROVIDER); 

关于自定义安全头,我很抱歉,但我没有尝试,所以我不能帮助你。