2

为响应有关 RSA v1.5 密钥传输算法的安全公告(请参阅http://cxf.apache.org/note-on-cve-2011-1096.html),CXF和 WSS4J 项目均禁止使用所有默认相关算法。

然而,他们提供了一个配置标签“ALLOW_RSA15_KEY_TRANSPORT_ALGORITHM”,它应该重新允许这些算法(参见https://ws.apache.org/wss4j/config.html

我们的问题是让这些框架(JBossWS / CXF / WSS4J)接受/使用这个配置设置。我们尝试过使用:

  • jboss-webservice.xml
  • 自定义 CXF 拦截器(在 CXF 创建其 WSS4J 拦截器后设置参数)
  • 自定义“被黑”WSS4J 构建(将参数硬编码为“true”)

但这些选项似乎都没有真正重新启用对 RSA v1.5 密钥传输算法的支持。

有没有人知道我们可以/应该如何指定这个配置参数?

4

2 回答 2

0

WSHandlerConstants.ENCRYPT仅当该操作包含在拦截器的操作中时,才会应用此设置。

例如:

Map<String, Object> inProps = new HashMap<>();
inProps.put(WSHandlerConstants.ALLOW_RSA15_KEY_TRANSPORT_ALGORITHM, "true");
inProps.put(WSHandlerConstants.ACTION, 
    WSHandlerConstants.ENCRYPT + " " +
    WSHandlerConstants.SIGNATURE);
WSS4JInInterceptor wss4JInInterceptor = new WSS4JInInterceptor(inProps);
于 2016-09-27T19:59:47.940 回答
0

这是我添加到 CXF 的测试:

https://git1-us-west.apache.org/repos/asf?p=cxf.git;a=commit;h=a73effb5

请注意,服务器已将“allowRSA15KeyTransportAlgorithm”设置为“true”。

于 2015-09-16T10:35:07.557 回答