Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用axis2 ramaprt模块和自己的安全框架_Java_Web Services_Axis2_Ws Security_Rampart - Fatal编程技术网

Java 使用axis2 ramaprt模块和自己的安全框架

Java 使用axis2 ramaprt模块和自己的安全框架,java,web-services,axis2,ws-security,rampart,Java,Web Services,Axis2,Ws Security,Rampart,我在项目中使用axis2实现了webservice(服务器端)。我们希望在现有web服务中启用WS-security。我们正在评估apache ramapart模块是否符合我们的需要。这是我们的要求: 基本上,我们有内部安全框架,提供加密、签名和令牌生成功能。我们的内部安全框架基本上需要一组XML形式的配置,并公开各种API来执行各种安全操作 现在有了上述环境,我可以想出三种可行的解决方案:- 我可以围绕内部安全框架开发axis2模块,并在安全阶段将其作为.mar文件安装。所以我不会使用apac

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

现在有了上述环境,我可以想出三种可行的解决方案:-

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

  • 我相信apache rampart强调了对apache wss4j模块进行安全操作的调用。我相信ApacheWSS4J模块提供了一种注册第三方安全提供者的方法(通过实现CryptoProvider接口)。我不确定这是否可行和可行的解决办法。请建议

  • Ws-security策略允许使用自定义令牌。这个自定义令牌可以使用我们的内部安全框架构建。因此,它基本上使我们能够使用ApacheRampart模块创建ws-security策略,并使用我们的安全框架开发定制令牌。但是我在网上找不到关于这个的帮助。谁能帮我举个例子吗


  • 任何其他建议都是非常受欢迎的。

    我在这里发布了一个答案:

    这里有一个非常详细的示例,您可能会发现它很有用

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

    cryptoConfig.setProvider(PROVIDER); 
    
    关于自定义安全头,我很抱歉,但我没有尝试,所以我无法帮助您