0

Weeks before my project uses 1.4.0.M3 version of Spring Boot, which uses tomcat-embedded-core-8.0.33. Here I was able to create multi-connector with following code:

@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;
}

The problem is that as of version 1.4.0.RELEASE Spring Boot uses 8.5.* Tomcat, where .getEndpoint() method is declared as protected.

How to programmatically install TrustManager for particular connector or protocol handler?

Zimy
  • 165
  • 1
  • 1
  • 7

1 Answers1

0

.setTrustManagerClassName(string)

Zimy
  • 165
  • 1
  • 1
  • 7