我们如何在Spring启动应用程序中执行信任管理器刷新?

时间:2016-10-05 09:47:48

标签: spring ssl spring-boot truststore

Spring boot并没有选择我的自定义信任管理器实例,即使我在tomcat启动之前安装它。

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[] { trustManager }, null);
SSLContext.setDefault(sslContext);

启动阴影是否为默认的SSL设置?

有没有办法推翻这个?

1 个答案:

答案 0 :(得分:2)

将您的SSL配置放在@PostConstruct中。在通过依赖注入机制创建bean之后,Spring容器将调用具有此批注的方法。

@Component
public class SomeComponent {

    @PostConstruct
    public void sslContextConfiguration() {
        try {
            SSLContext sslContext = SSLContext.getInstance("TLS");
            sslContext.init(null, new TrustManager[] { trustManager }, null);
           SSLContext.setDefault(sslContext);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}