2016-08-26 5 views
0

За неделю до моего проекта используется версия Spring Boot версии 1.4.0.M3, в которой используется tomcat-embedded-core-8.0.33. Здесь я был в состоянии создать многофункциональный разъем с следующим кодом:Установить TrustManager для соединителя Tomcat программно

@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 Загрузочный использует 8.5 * Tomcat, где метод .getEndpoint() объявлен. защищенный.

Как программно установить TrustManager для конкретного коннектора или обработчика протокола?

ответ