IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Utilisation OpenSSL sous Windows Visual C++ 6


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut Utilisation OpenSSL sous Windows Visual C++ 6
    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 !

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Fort heureusement, OpenSLL est multi-plateforme et n'a pas été spécifiquement pensé pour les Unices (à la base ou pas).

    A propos de l'erreur elle est expliquée en détail dans la FAQ OpenSLL, chapitre programmation, question n°2:

    http://www.openssl.org/support/faq.html#PROG2

    En résumé, le problème à la base concerne les options de compilation (Single ou Multi threaded) de la DLL OpenSLL et du projet qui l'utilise.

    Depuis qques temps , on peut éviter de tout recompiler en incluant dans son projet de programme le fichier applink.c. Ne pas oublier d'ajouter CRYPTO_malloc_init et ça devrait rouler.


    Citation Envoyé par Stupeflip Voir le message
    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 !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Bonjour Neitsa,

    Merci de ta réponse, j'avais en effet regardé ce point et j'avais (sans toutefois en comprendre le pourquoi) activé Multithread DLL pour Debug et Release.

    J'avais ajouté applink.c de cette façon:
    #include <openssl/applink.c>
    (en ayant pris soin de copier le fichier bien entendu)

    Ca ne marchait donc pas. Mais j'avais oublié le CRYPTO_malloc_init que j'ai donc rajouté de cette façon :
    CRYPTO_malloc_init();
    PEM_read_DSAPrivateKey(PemFile,&dsa,NULL,password);

    Il y a sûrement un truc que je fais mal, mais je ne sais pas quoi. J'ai bien ajouté applink.c au projet...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Autre interrogation, j'ai testé avec toutes les possibilités, à savoir

    Single Thread
    MultiThread
    MultiThread DLL
    Debug Single Thread
    Debug MultiThread
    Debug MultiThread DLL

    Et aucune n'a marché... Pourtant la DLL est forcément sur 1 des 6...

    Le programme plante toujours au PEM_read_DSAPrivateKey.
    CRYPTO_malloc_init est passé

    Please help !

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2008, 09h18
  2. Utiliser FPING sous WINDOWS
    Par TigreRouge dans le forum Programmation et administration système
    Réponses: 7
    Dernier message: 28/04/2006, 10h03
  3. Utiliser FD_SET sous Windows sur l'entré STDIN ?
    Par MonsieurAk dans le forum Windows
    Réponses: 6
    Dernier message: 09/12/2005, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo