Поддержка Python M2Crypto EC - PullRequest
2 голосов
/ 11 мая 2009

M2Crypto обеспечивает поддержку EC для ECDSA / ECDH. Я установил OpenSSL 0.9.8i, который содержит поддержку EC. Однако, когда я запускаю «из M2Crypto import EC, BIO», я получаю сообщение об ошибке EC_init () не удалось. Поэтому я добавил отладку для вывода значения m2.OPENSSL_VERSION_TEXT. Он печатается как «OpenSSL 0.9.7 19 февраля 2003». Эта версия OpenSSL не поддерживает EC.

Я попробовал "python setup.py build build_ext --openssl =" new_path, где установлен OpenSSL 0.9.8i ". Хотя M2Crypto снова собирается" Python setup.py install ", я все еще вижу, что он указывает на" Старая версия " OpenSSL ".

Будут полезны любые указатели на то, как успешно заставить M2Crypto использовать 0.9.8i.

Ответы [ 3 ]

2 голосов
/ 28 июля 2009

Некоторые дистрибутивы Linux, например Fedora и Redhat, отключают EC из-за проблем с патентами.

Если вы собираете OpenSSL самостоятельно, вам может потребоваться указать несколько параметров для build_ext в дополнение к --openssl: --library-dirs и --include-dirs. Смотрите, например, m2crypto Makefile в Chandler. Также у M2Crypto FAQ есть ответ на этот вопрос.

0 голосов
/ 26 августа 2016

Пожалуйста, отправьте отчет о проблеме на https://gitlab.com/m2crypto/m2crypto/issues/new и вашу ОС, версию Python, расположение и версии всех библиотек OpenSSL в вашей системе, версию вашего компилятора и приложите complete stdout / stderr команды python setup.py clean build install. Спасибо.

0 голосов
/ 11 мая 2009

Возможно, он ищет общие библиотеки libssl.so и libcrypto.so и находит старые в / usr / lib, если вы добавляете new_path в верхнюю часть /etc/ld.so.conf, чтобы сначала его искать Работа. Но это может сломать другие приложения OpenSSL, ожидающие старого OpenSSL.

...