Что может быть причиной этого: ** Ошибка команды: Ошибка SSL: ошибка: 14077410: Подпрограммы SSL: SSL23_GET_SERVER_HEL LO: ошибка квитирования предупреждения sslv3

Версия: REBOL / View 2.7.8.3.1 1 января 2011 г.

Я еженедельно запускаю сценарий REBOL, который извлекает данные в течение многих лет. Последняя проверенная работа скрипта 21.10.2016.

На сегодняшний день, 28 октября 2016 г., скрипт выдает следующую ошибку:

** Ошибка команды: ошибка SSL: ошибка: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HEL LO: сбой подтверждения подтверждения sslv3

Кто-то предполагает, что во время рукопожатия SSL / TLS REBOL предлагает только шифры, которые текущие серверы больше не поддерживают. Впоследствии сервер, с которым пытался связаться мой сценарий, не желает работать со старыми шифрами REBOL, и, следовательно, рукопожатие не удается.

Это правильно? Если это так, REBOL 2.7.8 скоро станет бесполезным, если не будет исправлен.

Между прочим, это не удается с R3 от Saphirion. В этом случае он просто вылетает и перестает работать, не выдавая сообщения об ошибке.


person Time Series Lord    schedule 28.10.2016    source источник
comment
Трудно сказать наверняка, так как Rebol 2 является закрытым исходным кодом. Вы пробовали сборки Atronix или Ren-C? Насколько я понимаю, они используют обновленную версию TLS. Если вам необходимо придерживаться Rebol 2, вы можете обернуть curl через CALL, чтобы делегировать свои HTTPS-запросы. Кроме того, у вас есть URL-адрес, на котором может быть воспроизведена ошибка?   -  person rgchris    schedule 28.10.2016
comment
>> read https://www.espacehifi.com/ connecting to: www.espacehifi.com ** Command Error: SSL Error: error:14077438:SSL routines:SSL23_GET_SERVER_HEL LO:tlsv1 alert internal error ** Where: build-port ** Near: system/words/set-modes port/sub-port [secure: true] Возможно, в последних исправлениях для Windows 10 Anniversary Update поддержка SSL 3 по умолчанию заблокирована.   -  person Time Series Lord    schedule 29.10.2016
comment
Но с GOOGLE все в порядке: ›› прочтите google.com, подключившись к: www.google.com == {‹ ! doctype html ›‹ html itemscope = itemtype = schema.org/WebPage lan g = en ›‹head›‹ meta content = Искать информацию в мире ...   -  person Time Series Lord    schedule 29.10.2016
comment
И ... >> a: https://fred.stlouisfed.org/graph/fredgraph.csv?id=wCURRNS == https://fred.stlouisfed.org/graph/fredgraph.csv?id=wCURRNS >> read a connecting to: fred.stlouisfed.org ** Command Error: SSL Error: error:14077410:SSL routines:SSL23_GET_SERVER_HEL LO:sslv3 alert handshake failure ** Where: build-port ** Near: system/words/set-modes port/sub-port [secure: true]   -  person Time Series Lord    schedule 29.10.2016
comment
Как использовать ваш скрипт curl? Я могу загрузить его в REBOL, но когда я пытался его использовать, например, >> curl https://fred.stlouisfed.org/graph/fredgraph.csv?id=wcurrns, он зависает. Как и cur / method a 'get ;; где URL выше   -  person Time Series Lord    schedule 29.10.2016
comment
Это правильное использование - кажется, мне подходит: Core 2.7.8.2.5. Для работы с Windows может потребоваться немного усилий, если это ваша платформа. Кроме того, вы можете trace/net on использовать полную команду оболочки: попробуйте запустить ее непосредственно в оболочке, чтобы узнать, связана ли проблема с curl (или просто создайте команду curl для использования с CALL самостоятельно с флагами, которые, как вы знаете, работают).   -  person rgchris    schedule 29.10.2016
comment
Даже на Rebol3 мы в Atronix используем curl, когда требуется TLS 1.2. Добавление поддержки TLS 1.2 в сборку Rebol3 от Atronix входит в нашу дорожную карту. Он должен быть завершен в 2017 году. Скорее всего, мы интегрируем LibreSSL из проекта OpenBSD, поскольку он имеет более чистый API и несколько дыр в безопасности.   -  person David den Haring    schedule 31.10.2016


Ответы (2)


REBOL / View 2.7.8.3.1 1 января 2011 г.

Я мало что знаю о реболе, но, согласно документации, он доступен для множества систем, в том числе для различных UNIX-подобных систем. Это говорит о том, что базовая библиотека, используемая для SSL / TLS, является наиболее часто используемой библиотекой, которая охватывает все поддерживаемые системы, то есть OpenSSL.

Учитывая данные о выпуске, это должна быть либо ранняя версия OpenSSL 1.0.0, либо, что более вероятно, версия 0.9.8. Ни один из этих выпусков OpenSSL не поддерживает шифры TLS 1.2 или ECDHE, которые обычно поддерживаются современными серверами, а иногда не только поддерживаются, но и требуются. В последнем случае квитирование SSL просто не удастся. Другая причина, по которой рукопожатие может не сработать, заключается в том, что сайту требуется указание имени сервера (SNI). Хотя SNI уже мог поддерживаться с OpenSSL 0.9.8, в 2011 году он не так широко использовался, и поэтому в настоящее время его поддерживают лишь немногие программы. Но сегодня SNI часто необходим, например, если вы пытаетесь получить доступ к сайтам, защищенным Cloudflare Free SSL.

person Steffen Ullrich    schedule 28.10.2016

Rebol2 поддерживает только TLS 1.0. Если вы запустите отчет из ssllabs на этом сервере, в отчете говорится, что для TLS 1.0 поддерживается только TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA.

Итак, Rebol3 и его вилки не являются Rebol2, но если вы посмотрите на исходный код rebol3 для prot-tls, вы увидите, что поддерживаемые наборы шифров не включают Elliptic Curve Diffie Helman или ECDHE.

Тем временем мы обновили сообщение об ошибке, теперь в нем говорится что-то более значимое.

прочтите https://www.espacehifi.com/ ** Ошибка: сбой рукопожатия - нет поддерживаемого набора шифров на сервере

пока мы не получим комплекты ECDHE в rebol3.

person Graham Chiu    schedule 06.06.2017
comment
Меня тоже эта проблема укусила. Ключевые сайты в моей компании теперь TLS 1.2 ... - person Edoc; 09.11.2017