Кажется, есть ошибка в реализации SSL сервера https, к которому я подключаюсь; изначально проблема возникла в моем приложении, но с тех пор я отлаживал / воспроизводил ее с помощью утилиты командной строки openssl, поэтому я совершенно уверен, что на данный момент она не имеет ничего общего с моим приложением.
Если я подключаюсь к удаленному серверу без параметров, кроме -connect
, OpenSSL отправляет SSLv2 CLIENT-HELLO, сервер отвечает TLSv1 ServerHello, и все идет нормально.
Если я соединяюсь с -ssl3
, OpenSSL отправляет SSLv3 ClientHello, сервер отвечает SSLv3 ServerHello, и снова все в порядке.
Однако, если я соединяюсь с -no_ssl2
или -tls1
, OpenSSL отправляет TLSv1 ClientHello, а сервер отвечает "TLS 1.0 Alert [length 0002], fatal unexpected_message"
, что является первоначальной проблемой, с которой я столкнулся в моем приложении.
Существует ряд возможных обходных путей, которые предлагают себя на данный момент, но я в идеале ищу что-то общее, а не специальный корпус этого конкретного сервера, поэтому я надеюсь, что есть какой-то «стандартный» обходной путь для это.