Сбой SSL-рукопожатия с фатальным исключением

#java #ssl #tcp #tls1.2 #jsse

Вопрос:

У нас есть java-приложение, которое просто делает запрос на указанный веб-сайт с некоторым интервалом. однако один из наших пользователей сообщил, что приложение перестает работать, а подключение к веб-сайту периодически прерывается. Я захватил сетевые пакеты на клиентской машине и, проанализировав их, обнаружил, что клиент отправляет пакет приветствия клиенту, который сервер подтверждает, но после подтверждения приветствия сервер должен ответить пакетом приветствия сервера, а не тем, что он отвечает пакетом FIN, ACK. То же самое прекрасно работает и в других средах. Привет клиента содержит версию TLS для использования и шифры, которые он поддерживает для шифрования. Любая помощь/указатели или указания для дальнейшего изучения этого вопроса были бы действительно полезны

введите описание изображения здесь

Примечание —

  1. Мы используем Http-клиент (библиотека Apache)
  2. Веб-сайт, используемый здесь, является лишь примером, но проблема воспроизводима и с другими веб-сайтами.

Комментарии:

1. Из изображения Wireshark нельзя извлечь ничего полезного, кроме того, что вы уже описали в вопросе. Пожалуйста, предоставьте а) полный pcap, чтобы можно было на самом деле увидеть подробную информацию о клиенте, и б) конкретный сервер, на котором возникает эта проблема. Также убедитесь, что между клиентом и сервером нет брандмауэра DPI, который мог бы прервать соединение из-за его настроенных политик безопасности, т. Е. Лучше всего попробовать код в среде, которую вы полностью контролируете. Хотя только одно предположение: убедитесь, что клиент использует SNI, так как это требуется многими сайтами.