2009-05-11 7 views
2

M2Crypto fournit un support EC pour ECDSA/ECDH. J'ai installé OpenSSL 0.9.8i qui contient le support pour EC. Cependant quand je cours "de M2Crypto pour importer EC, BIO" j'obtiens l'erreur disant que EC_init() a échoué. J'ai donc ajouté le débogage pour imprimer la valeur m2.OPENSSL_VERSION_TEXT. Il est imprimé comme "OpenSSL 0.9.7 19 Feb 2003". Cette version d'OpenSSL ne supporte pas EC.Python M2Crypto EC Support

J'ai essayé "python setup.py build build_ext --openssl =" new_path où OpenSSL 0.9.8i est installé "Bien que M2Crypto soit de nouveau construit" Python setup.py install ", je vois encore qu'il indique" Old version de OpenSSL ».

Tous les conseils sur la façon d'obtenir avec succès M2Crypto à utiliser 0.9.8i sera utile.

Répondre

0

Peut-être la recherche des bibliothèques partagées libssl.so et libcrypto.so et de trouver les anciens dans/usr/lib si vous ajoutez le new_path au début du fichier /etc/ld.so.conf pour qu'il soit recherché en premier, cela fonctionnera, mais cela pourrait casser d'autres applications OpenSSL attendant l'ancien OpenSSL

+0

Vous pouvez également essayer de définir LD_LIBRARY_PATH =/path/to/new/library et est-ce que C_LIBRARY_PATH = lors de la compilation? – joeforker

2

Certaines distributions Linux, par exemple Fedora et Redhat, désactivent EC en raison de problèmes de brevets.

Si vous construisez vous-même OpenSSL, vous devrez peut-être spécifier quelques options pour build_ext en plus de --openssl: --library-dirs et --include-dirs. Voir par exemple le m2crypto Makefile à Chandler. Le M2Crypto FAQ a aussi une réponse à cela.

0

S'il vous plaît déposer un rapport de problème à https://gitlab.com/m2crypto/m2crypto/issues/new et votre système d'exploitation, la version de Python, les emplacements et les versions de toutes les bibliothèques OpenSSL sur votre système, la version de votre compilateur, et s'il vous plaît joindre complète stdout/stderr de la commande python setup.py clean build install. Je vous remercie.