我正在通过 WSS4JSecurityInterceptor 使用 Spring 集成 + Spring WS Security。
我有一个 WS 客户端在服务器上使用 Web 服务,并具有下一个安全方案:
- 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;
}