带有Spring WS的WSS4J(用户/密码身份验证+ .cert)

crm86

我正在通过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;
}
crm86

此方案的解决方案:

  1. 首先,将.cer文件导入到您自己的密钥库中:

    keytool -importcert -v -trustcacerts-文件“ path \ to \ file.cer” -alias myAlias -keystore“ myNewKeyStore.jks” -storepass myPass

  2. 将文件放在您的类路径下

  3. 如果使用的是maven,请将其配置为包括.jks文件,并且不对此类资源进行过滤。这对于在编译时维护证书很重要。

  4. 使此配置适应您的WS场景:

    @Bean
    public Wss4jSecurityInterceptor wss4jSecurityInterceptor() throws Exception{
    
      Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
      interceptor.setSecurementActions("UsernameToken");
      interceptor.setSecurementUsername("user http");
      interceptor.setSecurementPassword("pass http");
      interceptor.setValidationActions("Signature");
      interceptor.setValidationSignatureCrypto( myCrypto() );
      interceptor.afterPropertiesSet();
      return interceptor;
    }
    
    
    @Bean
    public Crypto myCrypto() throws Exception{
        CryptoFactoryBean factory = new CryptoFactoryBean();
        factory.setTrustStorePassword( "myPass" );
        factory.setKeyStorePassword( "myPass" );
        factory.setKeyStoreLocation( new ClassPathResource("myNewKeyStore.jks") );
        factory.afterPropertiesSet();
        return factory.getObject();
    }
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有基本身份验证的客户端SSL POST给出DEPTH_ZERO_SELF_SIGNED_CERT错误

来自分类Dev

如何使用WSS4J拦截器以Web服务方法获取经过身份验证的用户

来自分类Dev

Spring Security-基于令牌的API身份验证和用户/密码身份验证

来自分类Dev

带有Spring Security CORS问题的AngularJS身份验证

来自分类Dev

带有Spring Security CORS问题的AngularJS身份验证

来自分类Dev

带有未经身份验证的用户的Spring Stomp @SendToUser无法正常工作

来自分类Dev

Spring-Boot:在Java代码配置(不是XML)中指定REALM(安全性约束和角色)和CLIENT-CERT身份验证?

来自分类Dev

WSS4j 1.5:如何跳过密码验证?

来自分类Dev

带有多个用户模型的Spree身份验证

来自分类Dev

带有延迟用户模块的身份验证模块

来自分类Dev

使用neo4j进行Spring身份验证

来自分类Dev

wss letsencrypt UNABLE_TO_GET_ISSUER_CERT

来自分类Dev

带有NTLM身份验证和自定义用户名和密码的BizTalk发送端口

来自分类Dev

使用Java HttpClient发送带有443个用户ID密码提示身份验证的GET请求

来自分类Dev

没有用户名和密码的用户身份验证

来自分类Dev

没有 SSL CERT 的网页抓取登录

来自分类Dev

带有Hibernate验证的Spring验证

来自分类Dev

带有Java配置的Rest API的Spring Security HTTP基本身份验证

来自分类Dev

带有JDBC身份验证的Spring Security-未找到AuthenticationProvider

来自分类Dev

使用带有默认身份验证提供程序的Spring-Security PasswordEncoder?

来自分类Dev

带有身份验证的Spring Boot-找不到登录页面(404)

来自分类Dev

带有spring-security和Basic Auth的REST-Service身份验证

来自分类Dev

使用带有默认身份验证提供程序的Spring-Security PasswordEncoder?

来自分类Dev

带有spring-security的基于http域的身份验证

来自分类Dev

带有XHTML的Spring MVC 4?

来自分类Dev

具有SSL以及用户名和密码身份验证的自托管WCF服务

来自分类Dev

laravel的身份验证可以记住没有密码的用户吗?

来自分类Dev

具有C ++用户名/密码身份验证的节俭sasl

来自分类Dev

linux-向已经具有ssh身份验证的用户添加密码

Related 相关文章

  1. 1

    具有基本身份验证的客户端SSL POST给出DEPTH_ZERO_SELF_SIGNED_CERT错误

  2. 2

    如何使用WSS4J拦截器以Web服务方法获取经过身份验证的用户

  3. 3

    Spring Security-基于令牌的API身份验证和用户/密码身份验证

  4. 4

    带有Spring Security CORS问题的AngularJS身份验证

  5. 5

    带有Spring Security CORS问题的AngularJS身份验证

  6. 6

    带有未经身份验证的用户的Spring Stomp @SendToUser无法正常工作

  7. 7

    Spring-Boot:在Java代码配置(不是XML)中指定REALM(安全性约束和角色)和CLIENT-CERT身份验证?

  8. 8

    WSS4j 1.5:如何跳过密码验证?

  9. 9

    带有多个用户模型的Spree身份验证

  10. 10

    带有延迟用户模块的身份验证模块

  11. 11

    使用neo4j进行Spring身份验证

  12. 12

    wss letsencrypt UNABLE_TO_GET_ISSUER_CERT

  13. 13

    带有NTLM身份验证和自定义用户名和密码的BizTalk发送端口

  14. 14

    使用Java HttpClient发送带有443个用户ID密码提示身份验证的GET请求

  15. 15

    没有用户名和密码的用户身份验证

  16. 16

    没有 SSL CERT 的网页抓取登录

  17. 17

    带有Hibernate验证的Spring验证

  18. 18

    带有Java配置的Rest API的Spring Security HTTP基本身份验证

  19. 19

    带有JDBC身份验证的Spring Security-未找到AuthenticationProvider

  20. 20

    使用带有默认身份验证提供程序的Spring-Security PasswordEncoder?

  21. 21

    带有身份验证的Spring Boot-找不到登录页面(404)

  22. 22

    带有spring-security和Basic Auth的REST-Service身份验证

  23. 23

    使用带有默认身份验证提供程序的Spring-Security PasswordEncoder?

  24. 24

    带有spring-security的基于http域的身份验证

  25. 25

    带有XHTML的Spring MVC 4?

  26. 26

    具有SSL以及用户名和密码身份验证的自托管WCF服务

  27. 27

    laravel的身份验证可以记住没有密码的用户吗?

  28. 28

    具有C ++用户名/密码身份验证的节俭sasl

  29. 29

    linux-向已经具有ssh身份验证的用户添加密码

热门标签

归档