Уведомления

Группа в Telegram: @pythonsu

#1 Май 25, 2021 15:33:45

Tarnum
Зарегистрирован: 2021-05-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Использую Python 3.7.1 с библиотеками OpenSSL 1.1.1k, при обращении к сайтам всё работает нормально. В данный момент собираюсь переходить на использование OpenSSL 3.0.0, но при замене библиотек версии 1.1.1k на 3.0.0 alpha 17, начинаю получать такие ошибки, как на скриншоте (выделены жёлтым):



Целевая ОС у меня Windows Server 2003 R2 Standard x86, хотя пробовал и на Windows Server 2008 R2 - ошибки те же. Обновить Python на целевой ОС не представляется возможным. Ошибки могут всплывать через достаточно длительный промежуток времени (30 минут и более), но появляются при обращении практически к любому сайту по https. Что это и как исправить?

P.S. При компиляции OpenSSL 1.1.1k и 3.0.0 alpha 17 использовались дефолтные опции, для компиляции использовался MSYS2 и MinGW.

Офлайн

#2 Май 25, 2021 16:58:34

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2741
Репутация: +  183  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

> с библиотеками OpenSSL 1.1.1k, при обращении к сайтам всё работает нормально. В данный момент собираюсь переходить на использование OpenSSL 3.0.0

Зачем?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Май 25, 2021 17:25:32

Tarnum
Зарегистрирован: 2021-05-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Во-первых, хочу заранее подготовиться к выходу финальной версии OpenSSL 3.0.0, а поддержка версии 1.1.1 прекратится через два года.
Во-вторых, в данный момент изучаю новые возможности версии 3.0.0, преследуя академические цели.
На первый взгляд, базовый функционал криптобиблиотек на уровне экспортируемых функций, используемых Python, не изменился (в версии 3.0.0 он расширен по сравнению с 1.1.1k) - и хотелось бы разобраться в причине появления этих ошибок.

Офлайн

#4 Май 29, 2021 19:01:27

Tarnum
Зарегистрирован: 2021-05-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Оказалось, задача хорошего решения не имеет. В течение недели пытался использовать различные способы, в частности, очень надеялся на новую опцию SSL_OP_IGNORE_UNEXPECTED_EOF в OpenSSL 3.0.0 - всё оказалось тщетно. Её переключение не помогает. Вдобавок, выяснилось, что это не единственное затруднение - Python 3.7.1 оказался действительно несовместим с OpenSSL 3.0.0. Всплыли более серъёзные проблемы, в частности, невозможность скачать с сайта rarlab.com и неработоспособность git при использовании библиотек 3-й версии OpenSSL.

Тему можно закрыть.

Офлайн

#5 Авг. 17, 2021 21:02:34

Tarnum
Зарегистрирован: 2021-05-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Проблему решил совместно с коллективом разработчиков, пришлось оплатить разработку нескольких модулей. Жаль, что никто из участников этого форума не взялся помочь, но поскольку я довольно сильно пострадал материально, бесплатно поделиться решением с остальными теперь, увы, не смогу…

Офлайн

#6 Авг. 17, 2021 23:15:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Tarnum
но поскольку я довольно сильно пострадал материально, бесплатно поделиться решением с остальными теперь, увы, не смогу
А зря. Вдруг тебе просто глушанули эти сообщения, которые ты убрать хотел. И таким образом у тебя срабатывает критерий оценки “я теперь не вижу сообщения об ошибках - значит, всё исправилось”. Вот это был бы прикол.

Tarnum
на 3.0.0 alpha 17
То есть ты реально собрался рабочий сервер поставить в зависимость от альфа-версии чего угодно? Знаешь, о чём это говорит сходу? О том, что ты абсолютно не шаришь как в безопасности, так и в софте. Соответственно, если безопасностью (а SSL - это безопасность) занимается дилетант, то его можно поиметь. Сервер твой никому даром не нужен, а денежки - да.



Офлайн

#7 Авг. 18, 2021 09:01:08

Tarnum
Зарегистрирован: 2021-05-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

py.user.next
Вдруг тебе просто глушанули эти сообщения, которые ты убрать хотел. И таким образом у тебя срабатывает критерий оценки “я теперь не вижу сообщения об ошибках - значит, всё исправилось”.
Никто ничего не глушанул, если бы Вы поинтересовались историей этого вопроса, узнали бы, что ошибки “unexpected eof while reading” появились ещё в финальной версии OpenSSL 1.1.1e после соответствующего исправления проблемы TLS протокола, но выяснилось, что такие ошибки появляются на каждом сайте, и в версии 1.1.1f всё вернули обратно, т.к. исправление ломало почти все существующие приложения, использующие OpenSSL. Исправление было перенесено в версию 3.0.0, и добавлена опция SSL_OP_IGNORE_UNEXPECTED_EOF, которую требуется включить в таких случаях. Разработчики OpenSSL надеются, что весь веб постепенно устранит проблемы TLS протокола, и в опции отпадёт необходимость.
py.user.next
То есть ты реально собрался рабочий сервер поставить в зависимость от альфа-версии чего угодно? Знаешь, о чём это говорит сходу? О том, что ты абсолютно не шаришь как в безопасности, так и в софте. Соответственно, если безопасностью (а SSL - это безопасность) занимается дилетант, то его можно поиметь. Сервер твой никому даром не нужен, а денежки - да.
Вы даже не взглянули, когда было отправлено заглавное сообщение темы - 3 месяца назад. Конечно, в продакшне у меня уже девелоперская OpenSSL 3.0.0 beta-3, альфа версии давно канули в лету. Разумеется, приложение пока работает в тестовом режиме, стабильность подтверждается тестами, проблем с безопасностью не выявлено. Когда нет возможности присматривать за сервером - возвращаю прежний код на официально стабильной OpenSSL 1.1.1k, и готовлюсь к выходу официального финального релиза OpenSSL 3.0.0 в ближайшее время - как только он выйдет, сразу станет стандартом на ближайшее будущее.

Офлайн

#8 Авг. 18, 2021 12:31:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Tarnum
Никто ничего не глушанул, если бы Вы поинтересовались историей этого вопроса
Это неинтересно. Просто бросилось в глаза, что человек боится, что его взломают, и из-за этого ставит самую последнюю версию, которую может найти, но при этом находит всего-то какую-то альфа-версию и тем самым, наоборот, ослабляет защиту, потому что альфа-версии потому так и называются, что это сигнал такой всем вокруг “ребята, не надо ставить эту программу, в ней могут быть ошибки”. Это не релиз.

Ты вот знаешь, что у питона тоже есть альфа-версии? И их не надо ставить, потому что они часто в Segmentation fault вылетают при обычной работе скриптов или вообще не собираются даже полноценно, что-то отваливается постоянно там. Это только для разработчиков, которые помочь хотят.

Tarnum
и готовлюсь к выходу официального финального релиза OpenSSL 3.0.0 в ближайшее время - как только он выйдет, сразу станет стандартом на ближайшее будущее.
А вот прикол, знаешь, какой будет? Ты потратил ресурсы на разработку каких-то костылей и тут выходит релиз, в котором это всё исправлено и эти костыли просто не нужны.



Отредактировано py.user.next (Авг. 18, 2021 12:46:47)

Офлайн

#9 Авг. 18, 2021 15:15:06

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Tarnum
вы вы … просто что то с чем то
мало того что используете бету (черт с ним возможно есть причины)
но еще это и форк (ну лвдно может быть там все норм)
но как бу то этого мало это и закрытый форк WOW!
т.е. я так понимаю поддерживать вы его будете сами

на вашем бы месте я бы всеми правдами и не правдами … короче вам на оборот нужно протащить ваш патч в мастер-ветку а вы блин как голум прелесть )



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#10 Авг. 18, 2021 20:53:02

Tarnum
Зарегистрирован: 2021-05-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибки unexpected eof while reading (_ssl.c:2471) при обращении к сайтам

Попробую ещё раз, видимо, меня не слышат или не читают, что я пишу:

py.user.next
но при этом находит всего-то какую-то альфа-версию и тем самым, наоборот, ослабляет защиту
Я не использовал и не использую альфа-версии. Я 1 раз собрал альфа-версию для проверки 3 месяца назад, убедился, что не работает. И тут же стёр. Это понятно?
py.user.next
Ты потратил ресурсы на разработку каких-то костылей и тут выходит релиз, в котором это всё исправлено и эти костыли просто не нужны.
Разработчики OpenSSL уже давно объявили, что функционал и API версии 3.0.0 меняться больше не будут. Кроме исправления ошибок в коде, не относящихся к описанному в топике, всё пойдёт в релиз именно так, как есть сейчас.
AD0DE412
вы вы … просто что то с чем то
мало того что используете бету (черт с ним возможно есть причины)
но еще это и форк (ну лвдно может быть там все норм)
но как бу то этого мало это и закрытый форк WOW!
т.е. я так понимаю поддерживать вы его будете сами
Я использую то, что есть для целевой системы. Об этом писано в заглавном сообщении. И это не форк, а полнофункциональная официальная версия Python (не бета и не альфа). Бета-версия OpenSSL 3.0.0 используется мной в тестовом режиме для проверки работоспособности нового функционала, и будет окончательно внедрена в день выхода финального релиза 3.0.0. Надеюсь, это тоже понятно. И да, поддерживать сервер и проект я буду сам.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version