Отладка рукопожатия SSL больше не работает с Apache Tomcat/9.0.0.M22

Мне нужно отладить рукопожатие SSL на Tomcat (ОС: MS Windows), поэтому я следовал инструкциям, найденным в Интернете, и включил его со следующей строкой в ​​setenv.bat:

установить "JAVA_OPTS=%JAVA_OPTS%-Djavax.net.debug=ssl"

С Apache Tomcat/9.0.0.M21 все работает нормально, когда я открываю страницу в своем браузере, я вижу рукопожатие в командной строке.

С Apache Tomcat/9.0.0.M22 я могу видеть только, какие сертификаты загружаются при запуске, но после этого, когда я вызываю сервер через браузер, в командной строке больше не генерируется вывод.

Единственная разница, которую я смог обнаружить, заключается в том, что обработчик протокола различается между этими версиями:

  • Apache Tomcat/9.0.0.M21 использует ProtocolHandler ["https-jsse-nio-8083"]
  • Apache Tomcat/9.0.0.M22 использует ProtocolHandler ["https-openssl-nio-8083"]

Есть ли что-то, что мне нужно сделать дополнительно, чтобы включить отладку рукопожатия ssl?

Это мой коннектор, настроенный в server.xml:

    <Connector port="8083" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="<Path to Keystore>"
               keystorePass="<KeystorePW>" />

person HarleyDavidson    schedule 08.02.2018    source источник
comment
В вашем журнале Catalina вы должны увидеть строку, содержащую завершенный запуск с указанием времени, которое потребовалось для запуска процесса. Вы можете проверить это в первую очередь? Тогда мы узнаем, закончен ли старт.   -  person Eugène Adell    schedule 08.02.2018
comment
Да, я вижу эту линию. org.apache.catalina.startup.Catalina.start Запуск сервера через 453 мс. Сервер действует и отвечает совершенно нормально.   -  person HarleyDavidson    schedule 08.02.2018
comment
Вы пытались запустить M22 с файлом server.xml M21 (или даже скопировать весь каталог conf)?   -  person Eugène Adell    schedule 08.02.2018
comment
Да, я полностью настраиваю все настройки (settings.xml, logging.properties, setenv.bat и т.д.), так что разница между этими двумя Tomcats только в версии.   -  person HarleyDavidson    schedule 08.02.2018


Ответы (1)


Попробуйте принудительно использовать JSSE, добавив sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation" в ваш Connector . По какой-то причине он обнаруживает APR и пытается использовать OpenSSL, который не работает. Вы можете сообщить об ошибке или задать вопрос в списке рассылки пользователей Tomcat, но 9.0.0 был выпуском разработки.

person Eugène Adell    schedule 08.02.2018
comment
Спасибо, это действительно помогает! - person HarleyDavidson; 09.02.2018