Можно ли проверить, какие запросы отправляет мое веб-приложение на Tomcat, и будут ли эти запросы отклоняться сервером, который принимает только TLS v1.2?
Выполнитьс системным свойством javax.net.debug=ssl
- обычно лучше всего установить в CATALINA_OPTS
в setenv.sh
или setenv.bat
, хотя могут быть и другие методы - и захватить довольно объемную трассировку, записанную в стандартный вывод - как это сделать, зависит отваше окружение.Это будет регистрировать все соединений SSL / TLS в процессе JVM, но, поскольку вы не используете входящие SSL / TLS (HTTPS), это не должно быть проблемой.
В качестве альтернативы, захват изсеть с Wireshark или tcpdump или аналогичным;это может потребовать наличия прав root или некоторых (Linux), но может быть отфильтровано только для интересующего соединения.
Да, если вы (через Java) отправляете рукопожатия, которые не предлагают 1.2, а сервер требует (только) 1.2, рукопожатия завершатся неудачей.
Если это не такнастроено по умолчанию, как настроить его на Tomcat?Я узнал об этом из официального документа, но мне интересно, влияет ли это только на INBOUND или также на OUTBOUND соединения.
Да, это влияет только на входящие соединения SSL / TLS (HTTPS).Код Tomcat обычно обрабатывает только входящие соединения HTTP или HTTPS;любые исходящие соединения явно указаны в вашем коде или коде библиотеки, который вы называете, например, драйвер базы данных.
В бесплатных версиях Oracle Java 7 реализовано TLS 1.2, но отключено это (и 1.1 также) для клиентской стороны по умолчанию.Как это изменить, зависит от того, как ваш код устанавливает соединения, например, через какую библиотеку, и вы не предоставили никакой информации об этом.Есть много вопросов стека об этом (многие из них много лет назад), таких как:
https://superuser.com/questions/747377/enable-tls-1.1-and-1.2-for-clients-on-java-7
получение javax.net.ssl.SSLException: получено фатальноalert: protocol_version при очистке данных с помощью Jsoup
Включить TLS 1.2 на стороне клиента JDK7
Как включить исходящую связь TLSv1.1 + из веб-приложения на Win10 / Tomcat7 /Java7?
Сервер закрывает соединения, выполненные с использованием httpclient и Java 7
SSLHandshakeException: закрытое соединение удаленного хоста во время рукопожатия
Как включить TLS1.2 в Java 7
TLS 1.2 поддерживался в Java 8, но не в Java 7
Последние два указывают, что если вы платите за контракт на поддержку Oracle, вы можетепросто обновить до 7u131 (или лучше).Или, если вы (можете) использовать OpenJDK.