Альтернатива CXF WSPasswordCallback

Для клиента SOAP я реализую подпись сертификата с использованием безопасности CXF.

Во всех приведенных примерах ссылка на класс passwordCallback задается в свойствах WSS4JOutInterceptor.

 securityProperties.put(WSHandlerConstants.PW_CALLBACK_CLASS, UTPasswordCallback.class.getName());
client.getOutInterceptors().add(new WSS4JOutInterceptor(securityProperties));

Есть ли альтернативный подход к WSPasswordCallback? Могу ли я установить пароль напрямую?


person Misha    schedule 17.03.2017    source источник


Ответы (2)


Вы можете указать пароль закрытого ключа для хранилища ключей в файле свойств Crypto, который вы используете для подписи: http://ws.apache.org/wss4j/config.html

person Colm O hEigeartaigh    schedule 20.03.2017
comment
если вы имеете в виду org.apache.ws.security.crypto.merlin.keystore.password, то он у меня уже есть, но этого недостаточно. Без passwordCallback я получаю WSHandler: приложение предоставило нулевой или пустой пароль - person Misha; 22.03.2017
comment
Нет, я имел в виду org.apache.ws.security.crypto.merlin.keystore.private.password - person Colm O hEigeartaigh; 22.03.2017
comment
Это свойство не решает проблему. Все еще есть такое же исключение - person Misha; 23.03.2017

Нашел решение, установив пароль в requestContext:

client.getRequestContext().put("password", "PASSWORD");
person Misha    schedule 23.03.2017