2

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

"python setup.py build build_ext --openssl="new_path where OpenSSL 0.9.8i is installed" を試してみました. M2Crypto は "Python setup.py install" で再度ビルドされますが、まだ "OpenSSL の古いバージョン" を指していることがわかります。 .

M2Crypto で 0.9.8i を正常に使用する方法についてのポインタは役に立ちます。

4

3 に答える 3

2

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

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

于 2009-07-28T06:33:19.573 に答える
0

/etc/ld.so.conf の先頭に new_path を追加すると、共有ライブラリ libssl.so と libcrypto.so を検索し、/usr/lib で古いものを見つけて、最初に検索されるようにすることができます。ただし、これにより、古い OpenSSL を想定している他の OpenSSL アプリケーションが機能しなくなる可能性があります。

于 2009-05-11T16:03:21.120 に答える
0

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

于 2016-08-26T19:25:56.780 に答える