Я работаю с интеграцией Spring + Spring WS Security через WSS4JSecurityInterceptor.
У меня есть клиент WS, использующий веб-службу на сервере со следующим сценарием безопасности:
- Упреждающая аутентификация HTTPS (пользователь и пароль)
- Сторона сервера дает мне файл .cert для подписи, но я не знаю, как преобразовать его в .jks (файл хранилища ключей)
С этими двумя реквизитами я немного запутался с примерами, предоставленными документацией Spring о конфигурации клиент/сервер. Я не могу изменить никакую конфигурацию на стороне сервера. У меня просто есть: пользователь, пароль и файл .cert.
У меня есть следующая конфигурация Java, но я не уверен, что она решает мой подробный сценарий:
@Bean
public Wss4jSecurityInterceptor wss4jSecurityInterceptor() throws IOException, Exception{
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
interceptor.setSecurementActions("UsernameToken Encrypt");
interceptor.setSecurementUsername("https user");
interceptor.setSecurementPassword("https password");
interceptor.setValidationActions("Signature");
interceptor.setValidationSignatureCrypto( NEED TO BE DEFINED );
return interceptor;
}