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

Web & réseau Delphi Discussion :

Problème de chargement de DLL SSL


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut Problème de chargement de DLL SSL
    Je suis confronté à un problème étrange avec SSL.
    Un de mes programmes déclenche une erreur systématique sur les postes de mes collègues mais pas sur le mien.
    Il s'agit d'un logiciel qui génère un PDF et l'envoie sur un site WEB en https avec le composant TIdHTTP.
    Au déclenchement de l'envoi, les autres postes reçoivent le message:
    "Impossible de charger la bibliothèque SSL"
    Ils ont pourtant les mêmes fichiers que moi au même endroit sur leur poste.
    Sur mon poste, aucun problème !

    La chose étrange c'est que j'ai tenté re renommer les dll dans la répertoire où se trouve l'exe et ça fonctionne quand même. Ce qui me parait normal vu que de versions des dll concernées, j'en ai plusieurs sur mon poste et que Windows doit forcément en trouver une dans les différents chemins possibles.

    Maintenant, la question est : pourquoi 2 installations identiques sur 2 postes différents ne fonctionnent pas de la même manière. Sur mon poste, aucune erreur, sur les autres (testés sur 3 différents), erreur.
    Pourquoi mon programme ne peut pas charger ces dll alors qu'elles sont sous son nez (même répertoire).

    Pour essayer de comprendre, j'ai demandé au collègue de donner tous les droits à tout le monde sur le dossier et même de lancer le programme en mode administrateur, cela ne change rien.

    La seule différence entre eux et moi c'est que mon poste "Delphi" est encore sous Windows 8.1 et eux sont en W10. Est-ce que ça pourrait venir de là ?

    Toute idée sera bonne à prendre parce que là je ne sais plus trop quoi faire pour débloquer la situation :-(

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Essaye de forcer IdOpenSSLSetLibPath avant l'appel à LoadOpenSSLLibrary (normalement c'est uniquement à partir du moment où un objet qui requiert le SSL en a besoin) lors de la création d'un TIdSSLContext par le TIdSSLIOHandlerSocketOpenSSL (une fois la connexion TCP IP ouverte, cela utilise la DLL pour le Hanshake et c'est là que se produit l'exception)

    Je me suis greffer sur IdSSLOpenSSLHeaders.GetCryptLibHandle pour utiliser PEM_read_bio_PUBKEY qui n'était pas déclaré dans ma version de Indy




    Pour ton exe, vérifie le dossier de démarrage si cela utilise un raccourci, cela peut influencer les chemins relatifs, en général, je préfère toujours utiliser explicitement Application.ExeName pour localiser le dossier de l'exe que me baser sur le CurrentDir.

    Tous les developpeurs compilent sur la même architecture ? 32 vs 64 ?
    DPROJ identique (les variables d'environnement bien utile pour partager le même DPROJ mais des chemins différents sur chaque poste)
    En débogage, Delphi est tout de même assez intrusif en particulier pour l'environnement hérité (il est 32 bits encore le IDE ?)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    J'ai testé, toujours le même problème. C'est à n'y rien comprendre.
    J'ai même fait un simple bout de code de test dans une appli autonome, ça fonctionne chez moi et pas chez les autres.
    Pour la différence entre Windows 8 et 10, j'ai essayé le même programme de test sur mon poste à la maison. Ça fonctionne mais la même chose bloque toujours chez les autres.
    J'ai pensé à un effet de l'antivirus mais on a le même.
    Comme tout le monde, j'ai souvent été confronté à des casse-têtes mais celui-là il est assez gratiné :-(

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    tu oublies aussi le 32/64 bits ce qui complexifie un peu plus le problème

  5. #5
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Tous les postes sont en 64.
    Les dll sont bien les bonnes versions et le code est bien la version 32 bits générée par Delphi.
    Et niveau code, je peux difficilement faire plus court pour tester.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        IdOpenSSLSetLibPath(TPath.GetDirectoryName(Application.ExeName));
        if LoadOpenSSLLibrary then
           ShowMessage('Librairies SSL chargées')
        else
          raise Exception.Create('Les librairies SSL ne peuvent être chargées');
    Au moins en faisant ça, ça m'a permit de voir que le programme complet n'est pas en cause.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Et, puisque les programmes sont en 32 bits, les Dlls sont bien en 32 bits ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Version 64 bit - Problème de chargement de DLL
    Par ArnaudEIC dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/09/2010, 14h26
  2. Problème de chargement de dll
    Par nasbe dans le forum WinDev
    Réponses: 2
    Dernier message: 09/01/2009, 17h32
  3. Problème de Chargement de DLL
    Par coax81 dans le forum Langage
    Réponses: 7
    Dernier message: 14/10/2008, 18h13
  4. JNI - Problème de chargement de DLL
    Par indepthsight dans le forum C++
    Réponses: 1
    Dernier message: 30/11/2007, 10h19
  5. [JNI] Encore un problème de chargement de dll
    Par seiryujay dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 10/08/2006, 13h23

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