java - 以编程方式为 Tomcat 连接器设置 TrustManager

标签 java tomcat spring-boot tomcat8 trustmanager

在我的项目使用 1.4.0.M3 版本的 Spring Boot 前几周,它使用 tomcat-embedded-core-8.0.33。 在这里,我能够使用以下代码创建多连接器:

@Bean
EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
    tomcat.addAdditionalTomcatConnectors(createStandardConnector());
    return tomcat;
}

private Connector createStandardConnector() {
    Connector connector = new Connector(Http11Nio2Protocol.class.getCanonicalName());
    connector.setPort(expiredCertPort);
    connector.setScheme("https");
    connector.setSecure(true);
    Http11Nio2Protocol protocolHandler = (Http11Nio2Protocol) connector.getProtocolHandler();

    protocolHandler.setSSLEnabled(true);
    protocolHandler.getEndpoint().setTrustManagerClassName(TimelessTrustManager.class.getCanonicalName());
    return connector;
}

问题是从版本 1.4.0.RELEASE 开始,Spring Boot 使用 8.5.* Tomcat,其中 .getEndpoint() 方法被声明为 protected 。

如何以编程方式为特定连接器或协议(protocol)处理程序安装 TrustManager?

最佳答案

.setTrustManagerClassName(字符串)

关于java - 以编程方式为 Tomcat 连接器设置 TrustManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39172746/

相关文章:

java - 在 Java 8 Spring 4.2.4 中加载静态资源时获取 404

java - 如何获取两个日期之间的数据 REST Spring

Spring安全+身份验证LDAP : BindRequest and UnbindRequest?

java - 使用 Gradle 从 jar 中排除文件

java - 如何修复 opencv 中的 NullPointerException

Spring MVC 和虚拟主机处理

Java Tomcat 无法部署

java - 让 hk2 和 Jersey 注入(inject)类

java - Zillow 是用什么编程语言编写的?

java - Pattern.matches() 给出 StackOverflowError