Уведомления

Группа в Telegram: @pythonsu

#1 Июль 6, 2017 19:30:25

ch1t3r
Зарегистрирован: 2017-07-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с XMPP через SSL. Ошибка ssl.c:661

Добрый день. Имеется jabber-сервер и питоновский скрипт, который благополучно работал много лет на этом сервере. После обновления сервера скрипт перестал соединяться. Причина: овнер запретил небезопасные версии ssl/tls. В данный момент скрипт выдает ошибку Exception: unknown protocol (_ssl.c:661).
Сменить сервер, к моему огромному сожалению, не предоставляется возможным. К данному аккаунту и скрипту привязано огромное количество людей.
Порезанный код скрипта можно посмотреть здесь: CODE
Крутится все на винде. Питон 2.7

Искомый сервер - dlab.im
Ошибка возникает на строке:
ssl_sock = ssl.wrap_socket(sock)

Если я правильно понимаю - необходимо либо обновлять какие-то либы (openssl например), либо прописывать игнорирование ошибок, либо работать с tls иным способом.
Прошу подсказать что можно сделать для реанимации работы. Спасибо.

Отредактировано ch1t3r (Сен. 4, 2017 19:59:07)

Офлайн

#2 Июль 10, 2017 11:13:18

degid
От: Ясиноватая
Зарегистрирован: 2012-12-04
Сообщения: 49
Репутация: +  1  -
Профиль   Отправить e-mail  

Работа с XMPP через SSL. Ошибка ssl.c:661

         ca_certs = 'cacert.pem' # http://curl.haxx.se/ca/cacert.pem
        kwargs = {}
        if os.path.exists(ca_certs):
            kwargs.update(cert_reqs=ssl.CERT_REQUIRED, ssl_version=ssl.PROTOCOL_TLSv1, ca_certs=ca_certs)
        ssl_sock = ssl.wrap_socket(sock, **kwargs)



Офлайн

#3 Июль 16, 2017 14:33:38

ch1t3r
Зарегистрирован: 2017-07-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с XMPP через SSL. Ошибка ssl.c:661

Извиняюсь за долгий ответ. был на отдыхе.
Внес правки в код. Получил следующую ошибку:
Exception: wrong version number (_ssl.c:661)

На сервере установлены следующие опции TLS:
‘TLSOPTS’:
- “no_sslv3”
- “no_tlsv1”

Я пробовал прописать:
ssl_version=ssl.PROTOCOL_TLSv2 - Exception: ‘module’ object has no attribute ‘PROTOCOL_TLSv2’
ssl_version=ssl.PROTOCOL_TLSv1_2 - Exception: wrong version number (_ssl.c:661)

Отредактировано ch1t3r (Июль 16, 2017 15:48:28)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version