2009-05-11 4 views
2

M2CryptoはECDSA/ECDHのECサポートを提供します。 ECのサポートを含むOpenSSL 0.9.8iをインストールしました。しかし、私が "M2Crypto import EC、BIO"を実行すると、EC_init()が失敗したというエラーが表示されます。そこで、m2.OPENSSL_VERSION_TEXTの値を出力するためのデバッグを追加しました。それは "OpenSSL 0.9.7 2003年2月19日"として印刷されます。このバージョンのOpenSSLはECをサポートしていません。Python M2Crypto ECサポート

私は "python setup.py build build_ext --openssl =" OpenSSL 0.9.8iがインストールされている場所のnew_path "を試しましたが、M2Cryptoは" Python setup.py install "を再度ビルドしましたが、" Old OpenSSLのバージョン」。

成功しM2Cryptoが0.9.8iが有用であろう使用して取得する方法上の任意のポインタ。

答えて

0

おそらくその共有がlibssl.so LIBSとlibcrypto.soを検索し、古いものを見つけます/ /etc/ld.so.confの先頭にnew_pathを追加すると、最初に検索されるようになりますが、古いOpenSSLを期待する他のOpenSSLアプリケーションを壊す可能性があります。

+0

LD_LIBRARY_PATH =/path/to/new/libraryを設定してみてください。コンパイル時にC_LIBRARY_PATH =ですか? – joeforker

2

一部のLinuxディストリビューション(FedoraやRedhatなど)は、特許の問題によりECを無効にしています。

あなた自身でOpenSSLをビルドする場合は、--openssl:--library-dirsと--include-dirsに加えて、build_extに指定する必要があるオプションがいくつかあります。例えばチャンドラーのm2crypto Makefileを参照してください。また、M2Crypto FAQにはこれに対する回答があります。

0

https://gitlab.com/m2crypto/m2crypto/issues/newで問題レポートを提出し、お使いのOS、Pythonのバージョン、システム上のすべてのOpenSSLライブラリの場所とバージョン、コンパイラのバージョン、およびpython setup.py clean build installコマンドの完全標準出力/標準エラー出力を添付してくださいしてください。ありがとうございました。

関連する問題