andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 juillet 2008
-
30 juil. 2008 à 15:29
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 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:
No openssl_applink
Openssl windows - Meilleures réponses
Openssl_uplink no openssl_applink - Meilleures réponses
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 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
BunoCS
Messages postés15485Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention 2 septembre 2024103 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...
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 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).