2015-12-02 5 views
0

Я пытаюсь реализовать ответ, найденный по адресу Python Paste SSL server with TLSv1.2 and Forward Secrecy.Почему context.set_tmp_ecdh() не определен в pyOpenSSL?

Как использовать context.set_tmp_ecdh()? Этот метод не определен ни на моих Linux-машинах, ни на Windows. Он находится в документах pyOpenSSL и различных примерах, которые я видел. Я использую Python 2.6.6 (или 2.7) и pyOpenSSL v 0.13 (в частности, пакет CentOS pyOpenSSL-0.13.1-2.el6.x86_64.rpm). Есть ли конкретная версия или дополнительная зависимость и т. Д., Которых я не вижу?

+0

Какую версию OpenSSL вы используете? Определить проверку 'ssl.OPENSSL_VERSION'. –

+0

OpenSSL v 1.0.1 – BuvinJ

+0

Теперь я пытаюсь реализовать функциональность «вручную» (только обновление моего собственного кода). Я ссылаюсь на https://groups.google.com/forum/#!topic/autobahnws/FacdoiUeY9s и https://github.com/pyca/pyopenssl/blob/master/src/OpenSSL/SSL.py – BuvinJ

ответ

1

Поддержка ecdh была added в pyOpenSSL 0.15, поэтому вы не можете использовать ее с установленной версией pyOpenSSL.

Вам потребуется install более новая версия.

+0

Я рассмотрю это. Мне нужно сделать это на CentOS 6, с python 2.6.6. Мне также нужно сделать это на Windows с Python 2.7. Итак, я еще не уверен в деталях этого и любых несовместимостей. – BuvinJ

+0

Это сработало, но на моей машине Linux установка не была прямой. См. Http://stackoverflow.com/questions/7340784/easy-install-pyopenssl-error/34048924#34048924. – BuvinJ

+0

Я получил это для работы в Windows, но мне пришлось обновить с Python 2.7.5 до 2.7.9, а затем установить pyOpenSSL через «pip». Я настоятельно рекомендую этот метод, пытаясь установить новую версию pyOpenSSL из источника (поскольку программа установки msi больше не работает). – BuvinJ