Достойная библиотека SSL для Python 2.5

1

Мне поручено перевести серверную сеть из простых сокетов на SSL в python 2.5, и я столкнулся с проблемой. Похоже, что почти никакой библиотеки SSL там полностью реализуется интерфейс сокета, поэтому код, который мы в настоящее время не можем выполнить, может быть перенаправлен.

В частности, я не могу найти библиотеку, которая поддерживает метод "setblocking" (большинство из них - обертки, так что было бы ужасно просто обратиться к обернутому сокету напрямую?), и большинство из них, похоже, не рассматривают wrapped socket как файлоподобное устройство, поэтому решающий метод "select" не будет работать (опять же, могу ли я запустить select на завернутом сокете?).

(read, write, error) = select([socket], [socket], [], 0.2)

Я до сих пор пытался использовать tlslite и M2Crypto, но ни один из них не работает прозрачно как сокеты.

Любые идеи будут оценены.

  • 0
    Выполнение неблокирующих операций ввода-вывода с SSL очень сложно. Уровень записи SSL не должен подчиняться каким-либо границам пакетов, поэтому только то, что данные доступны из сокета, не означает, что данные доступны приложению.
Теги:
ssl

2 ответа

2
Лучший ответ

Как насчет этот backport модуля Python 2.6 ssl для Python 2.3+? Он предоставляет те же функциональные возможности описанный здесь, что означает, что он принимает нормальный socket.socket и переносит его в контексте SSL.

0

pyOpenSSL, похоже, поддерживает setblocking().

  • 0
    Я рассмотрел pyOpenSSL, но я немного не уверен в этом, так как он больше не поддерживается. С другой стороны, я полагаю, что большинство библиотек не поддерживается, поскольку SSL имеет достойную поддержку в более поздних версиях Python.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню