2016-03-06 2 views
2

Je souhaite créer un moteur OpenSSL RSA à partir de this existing source code file, une méthode plus rapide implémentée par Intel. tout ce que je veux d'abord construire ce code, donc je suis en utilisant ces commandes:Routines de support DSO et plusieurs erreurs de chargement OpenSSL

gcc -fPIC -m64 -o eng_rsax.o -c eng_rsax.c 
gcc -shared -o eng_rsax.so -lcrypto eng_rsax.o 

... et aucune erreur ne se manifeste. Puis, quand je suis en train de tester le moteur en utilisant la commande:

openssl engine -t -c `pwd`/eng_rsax.so 

... Je reçois les erreurs suivantes:

140470207960736:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(/some_path/eng_rsax.so): /some_path/eng_rsax.so: undefined symbol: mod_exp_512 
140470207960736:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: 
140470207960736:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450: 
140470207960736:error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:417:id=/some_path/eng_rsax.so 

A ce stade, je suppose que je ne suis pas en utilisant la indicateurs de droite et peut-être les commandes pour la construction du moteur sont incomplètes.
Que dois-je faire pour que cela fonctionne?

+0

Il semble que ce soit partiellement un problème de chemin. Perhpas vous pouvez 'LD_LIBRARY_PATH =" $ (pwd): LD_LIBRARY_PATH "openssl moteur -t -c' pwd'/eng_rsax.so' – jww

+0

Merci pour les commentaires, mais l'erreur est toujours là. –

Répondre

0

Afin de faire ce travail, je viens de mettre en œuvre le corps de la fonction mod_exp_512 à la ligne 260 en ajoutant {} au lieu de ;. J'ai utilisé les mêmes commandes:

gcc -fPIC -m64 -o eng_rsax.o -c eng_rsax.c 
gcc -shared -o eng_rsax.so -lcrypto eng_rsax.o