undefined symbol OpenSSL MAC

yachiro

Membre confirmé
22 Juin 2011
29
0
37
Bonjour à toutes et à tous,

Je me présente je suis étudiant en master 1 informatique et actuellement en stage de fin d'études dans une entreprise de sécurité informatique.

N'étant pas un grand spécialiste de MAC je viens solliciter votre aide en particulier ceux qui ont pu un jour travailler avec openssl.

En effet dans le cadre de mon projet, j'ai du créer une bibliothèque partagée qui puisse se charger dynamiquement (.so) sous linux.
Le programme principal faisant appelle à cette librairie ainsi qu'a l'ensemble des fonctions de openssl disponible dans les bibliothèques libcrypto et libssl.

Cette tache étant accomplie, il faut aujourd'hui que je puisse faire la même chose sur un environnement MAC or en voulant compiler l'ensemble de mon projet, j'ai reçu un super message d'alerte qui me dit :

Undefined symbols:
"_SSL_CTX_set_info_callback", referenced from:
_TLSClient_Connect in TLSClient.o

Etant donné que je n'ai rien changé en terme de ligne de code dans mon programme et que celui ci se compiler parfaitement sous linux, que j'utilise OpenSSL 0.9.8l qui d'après ce que j'ai lu me permet d'utiliser les fonctions SSL sur MAC je ne vois pas ou se situe le problème.

Si quelqu'un à la moindre information je suis preneur!

Merci d'avance et n'hésitez pas à me demander plus d'informations si je n'ai pas été assez précis.
 
As-tu utilisé les outils classiques de portage (autoconf et tout ça) ?

Je déplace dans le forum de développement.
 
C'est tout simplement que tu as oublié de mettre la bibliothèque idoine dans la commande de l'édition de liens.

Si tu utilises la bibliothèque du système, c'est /usr/lib/libssl.dylib. Il faut la spécifier dans la commande (son chemin est normalement dans le chemin par défaut). J'ai vérifié et la fonction est bien présente dans la bibliothèque.
 
Merci à tous pour vos réponses mais c'est bon j'ai réglé le problème il fallait juste indiquer les bons chemins sur les libcrypto.a et libssl.a.

Néanmoins j'ai un problème maintenant quand j'execute mon programme je reçois sur la console les messages suivant :

Bloc de code:
error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01:rsa_pk1.c:100:
6709:error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed:rsa_eay.c:707:
6709:error:0D089006:asn1 encoding routines:ASN1_verify:EVP lib:a_verify.c:168:
6709:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed:s3_clnt.c:844:

N'étant ni un grand spécialiste de openssl ni de cryptographie je suis vraiment perdu j'ai cherché ca pendant plusieurs heures sans réellement trouver quoi que ce soit d'utile donc si quelqu'un a une piste j'en serais ravi !

Merci