Разрешить алгоритм передачи ключей RSA v1.5 для стека WildFly / JBossWS / CXF / WSS4J

В ответ на рекомендацию по безопасности (см. http://cxf.apache.org/note-on-cve-2011-1096.html) относительно алгоритма передачи ключей RSA v1.5, проекты 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.

Кто-нибудь знает, как мы могли бы/должны указать этот параметр конфигурации?


person B. Nossing    schedule 15.09.2015    source источник


Ответы (2)


Вот тест, который я добавил в CXF:

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

Обратите внимание, что сервер установил для параметра «allowRSA15KeyTransportAlgorithm» значение «true».

person Colm O hEigeartaigh    schedule 16.09.2015

Этот параметр применяется только в том случае, если действие 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);
person rees    schedule 27.09.2016