Utilisation OpenSSL sous Windows Visual C++ 6

andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 - 30 juil. 2008 à 15:29
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 - 30 juil. 2008 à 17:16
Bonjour,

Je dois utiliser la librairire OpenSSL pour faire une signature DSA sur une donnée.

Seulement voilà je travaille sous Windows et OpenSSL est à la base pour Linux si j'ai bien compris !

Donc compilation, ajout de la librairie au projet, tout va bien, je mets 2 fonctions :

PEM_read_DSAPrivateKey

DSA_sign

Je compile le projet 0 erreur 0 warning, je fais ma dll, et quand je veux l'utiliser, j'obtiens le fameux message

OPENSSL_Uplink(0109F020,05): no OPENSSL_Applink

mettant en avant l'incompatibilité Windows de ma lib !

J'ai cru comprendre que je devais utiliser applink.c, seulement je
n'ai pas compris comment... Qqun connaitrait-il les étapes à suivre, ou
aurait-il un lien vers un tuto ?

Merci d'avance !
A voir également:

4 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
30 juil. 2008 à 16:18
Hello,
OpenSSL et Windows cohabite bien ensemble, je ne comprend pas le souci
Voici un lien vers OpenSSL pour Windows

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 16:37
J'ai déjà compilé la version windows, je peux utiliser l'exe sous Windows, mais le problème vient au moment où je veux utiliser la lib sous Visual C++ 6.0

Encore une fois, je crée ma dll tout se passe bien, elle fonctionne bien jusqu'à ce que je veuille utiliser une des fonctions
PEM_read_DSAPrivateKey
DSA_sign

J'obtiens
OPENSSL_Uplink(0109F020,05): no OPENSSL_Applink
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
30 juil. 2008 à 17:00
Désolé, cela ne m'est pas arrivé...mais je ne retrouve pas comment j'ai fait.
J'ai trouvé un paragraphe dans la FAQ qui parle d'un problème d'options de compilation qui peuvent être différentes entre ta lib et ton projet

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 17:16
Tout à fait, j'avais eu également ce problème, mais cela provoquait une erreur de link.
J'arrive à compiler et à générer ma dll, elle plante pendant l'exécution, lors d'un appel à une fonction de la lib.

Voilà le résultat le plus pertinent que j'avais trouvé sur la Toile à propos de mon message d'erreur :
On Windows the OpenSSL guys have included code with 0.9.8 and above to
allow OpenSSL to work correctly regardless of the MSVC runtime libraries
that have been used with the host application. This has become noticable
with the MSVC++ build in which any client apps that connect using libpq
with a client certificate will bail out with an error such as:

C:\pgsql-8.3>bin\psql -p 5433 postgres
OPENSSL_Uplink(00314010,05): no OPENSSL_Applink

The server doesn't seem to be affected, but the attached patch fixes the
problem for the client apps. Unfortunately it must be included in the
app itself, and not libpq.

I'm not sure what the OpenSSL guys were thinking here - apps like
pgAdmin which previously didn't use OpenSSL directly now need the source
code to build. I've also seen reports on the -odbc list that psqlODBC is
similarly affected, though how on earth we're meant to get the AppLink
code into apps such as MS Access or Crystal Reports is beyond me.

S'en suivait un ifdef à mettre pour intégrer applink.c au programme, cependant cela ne solutionne pas mon problème, cette astuce était à l'origine pour un .exe et non une dll (je ne sais pas s'il y a un rapport).

Merci de ton aide et du temps que tu y passes.
0
Rejoignez-nous