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

时间:2016-08-26 18:34:20

标签: 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()方法被声明为受保护。

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

1 个答案:

答案 0 :(得分:0)

.setTrustManagerClassName(字符串)