java - 使用具有自己的安全框架的 axis2 ramaprt 模块

标签 java web-services axis2 ws-security rampart

我在我的项目中使用 axis2 实现了网络服务(服务器端)。我们想在现有的 Web 服务中启用 WS-security。我们正在评估 apache ramapart 模块是否符合我们的需要。这是我们的要求: 基本上,我们有内部安全框架,提供加密、签名和 token 生成功能。我们的内部安全框架基本上需要一组 XML 形式的配置,它公开各种 API 来执行各种安全操作。

现在有了上面的环境,我可以想到三种可能的解决方案:-

  1. 我可以围绕内部安全框架开发一个 axis2 模块,并在安全阶段将其安装为 .mar 文件。所以我不会使用apache rampart。但是这种方法的问题是我不能使用 ws-security 策略来指定安全断言并确保传入的安全 token 符合有效策略。这就像重新发明 rampart 已经在做的事情。

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

  3. Ws-security 策略允许使用自定义 token 。可以使用我们的内部安全框架构建此自定义 token 。所以基本上它使我们能够使用 apache rampart 模块创建 ws-security 策略,并使用我们的安全框架开发自定义 token 。但是我在互联网上找不到这方面的帮助。谁能帮忙举个例子。

也欢迎任何其他建议。

最佳答案

我在这里发布了一个答案:How to encrypt SOAP messages manually?

那里有一个非常详细的示例,您可能会觉得有用。

您可以使用以下方式设置提供程序:

cryptoConfig.setProvider(PROVIDER); 

关于自定义安全 header ,很抱歉,我没有尝试过,所以无法在这方面为您提供帮助。

关于java - 使用具有自己的安全框架的 axis2 ramaprt 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7671162/

相关文章:

java - 无法使用 eclipse helios 设置 apache axis 2

java - Eclipse Oxigen5 - "Cannot connect to VM Socket operation on nonsocket: configureBlocking"

java - 如何在 Playframework 2.5 上启动并定期调用函数

java - 如果已经扩展了其他内容,有什么方法可以扩展 Activity?

java - 是否可以将ldap服务器直接连接到Android手机?

c# - 使用 CookieContainer 的 WCF Web 服务客户端

java - tomcat创建web服务报错

java.lang.NoClassDefFoundError : org/apache/axis2/AxisFault When axis2-kernel-1. 5.4.jar在类路径中

java - Android Studio 2.3.2 由于错误错误:Execution failed for task ':app:dataBindingProcessLayoutsDebug' 而无法构建项目

Java,将文件复制到jre