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

How do we perform trust manager refresh in a Spring boot application?

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

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

引导是否会影响默认 SSL 设置?

有没有办法否决这个?

将您的 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();
        }
    }
}