相关疑难解决方法(0)

如何手动加密SOAP消息?

我使用JBoss 4.2.3.GA. 在之前的任务中,我使用了JBoss支持的基本加密机制(WS-Security).即我使用密钥库,信任库文件进行加密和签名消息.通常(以标准方式)在jboss-wsse-*文件中定义了必须在加密过程中使用的密钥别名.我在Action book中使用了JBoss的ws安全配置.

没关系.加密工作正常.

但在我当前的任务中,我需要手动和动态地为键指定别名.任务描述:

  • 我有几个档案.在每个配置文件中,可以是必须用于加密消息的公钥的别名别名.

  • 我有密钥库包含服务器的私钥/公钥和客户端的公钥,它们将向服务器发送消息

  • 我需要使用此别名指定的公钥从配置文件获取别名并加密消息(在客户端).

  • 所以我需要以某种方式从密钥库加载数据(它必须驻留在文件系统文件夹,即外耳文件),从中获取适当的公钥,然后进行加密.
  • 之后,我需要向具有私钥进行解密的远程Web服务(服务器端)发送消息.
  • 在这里,我看到了服务器端逻辑的几种变体:Web服务使用标准JBoss机制进行解密,或者我可以手动加载密钥库数据并手动进行解密.

所以问题是关于:

  1. 有没有办法为JBoss指定文件系统目录来加载密钥库?
  2. 我可以为标准JBoss WSS机制指定加密别名,以允许jboss在crypt进程中使用此信息吗?
  3. 如果我必须进行手动加密/解密,那么如何将多个Java对象包装到WS消息中,然后使用必要的别名加密它以及如何手动将此消息发送到远程Web服务?

我只是不知道如何开始,使用什么框架,甚至有必要使用外部(非JBoss)框架...

java security ws-security jboss web-services

12
推荐指数
1
解决办法
4850
查看次数

使用带有自己的安全框架的axis2 ramaprt模块

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

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

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

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

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

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

java ws-security axis2 web-services rampart

5
推荐指数
1
解决办法
500
查看次数

标签 统计

java ×2

web-services ×2

ws-security ×2

axis2 ×1

jboss ×1

rampart ×1

security ×1