Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi "Could not load SSL library" (D2007, Indy10, OpenSSL?) (https://www.delphipraxis.net/179342-could-not-load-ssl-library-d2007-indy10-openssl.html)

Caps 28. Feb 2014 10:12

"Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Hallo Gemeinde,

es tut mir sehr leid, dass ich diese Frage stellen muss, aber ich habe leider keine (befriedigende) Antwort gefunden.
Ich habe mir vor kurzem (4, 5 Wochen her) die neuesten Indys (Indy10_5080.zip) von http://indy.fulgan.com/ gezogen und in meinem D2007 installiert (vorher die alten 10er-Indys nach Tutorial entfernt). Soweit so gut, d.h. bspw. IdSMTP ohne SSL funktioniert perfekt. Jetzt kam die Anforderung, SSL für SMTP zu benutzen, also schaue ich auf http://indy.fulgan.com/SSL/ nach und versuche, die passende Version von OpenSSL zu finden. Anscheinend ist das aber leichter gesagt als getan. In allen ReadMe.txt (aus den heruntergeladenen ZIPs), die ich bisher gelesen habe, stand stets: "Requirements: Indy 10.5.5+ (SVN Version or Delphi 2009 and newer)".

Bin ich mit meinem D2007 jetzt verloren?
Indy-mäßig bin ich ja aber passend ausgestattet, oder (10_5080 > 10.5.5)?

Bevor ich jetzt alle gefühlt 100 ZIP-Dateien nacheinander herunterlade und die DLLs in mein Projektverzeichnis kopiere, dachte ich, ich frage mal, ob jemand einen heißen Tip hat, welche OpenSSL-Version wohl die richtige für mich ist.

Nochmal meine Konfiguration zusammengefasst:

- W7 64Bit
- D2007
- Indy10_5080 (wo kann ich die Versionsnummer erkennen?)
- Unter Windows\System32 befinden sich die beiden DLLs (ssleay.dll, libeay.dll) nicht


Beste Grüße, wenn auch bereits leicht angesäuert (das Thema beschäftigt mich seit gestern früh :wall:)
Caps

ps Falls ich einfach zu blöd bin, tut es mir wirklich aufrichtig leid, aber ich stehe irgendwie komplett auf dem Schlauch.

Klaus01 28. Feb 2014 10:23

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Die DLLs kannst Du von hier laden.
Dann würde ich die neueste (32bit) verwenden.
Wo hast Du denn die DLLs abgelegt?

Grüße
Klaus

Steku 28. Feb 2014 10:32

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Hi,

ohne mich bislang mit den Indys beschäftigt zu haben, habe ich gerade gesehen,
das es seit heute morgen eine neue Version gibt:

Friday, February 28, 2014 3:31 AM 7970055 Indy10_5097.zip

Nur so zur Info...
Steku

Caps 28. Feb 2014 11:30

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Zitat:

Zitat von Klaus01 (Beitrag 1249986)
Die DLLs kannst Du von hier laden.
Dann würde ich die neueste (32bit) verwenden.
Wo hast Du denn die DLLs abgelegt?

Grüße
Klaus

Ich habe mir die openssl-1.0.1f-i386-win32.zip gezogen und die beiden DLLs in das Projektverzeichnis gelegt. Trotzdem kommt die Meldung "Could not load SSL library".

Meine Senderoutine sieht so aus:
Delphi-Quellcode:
  function PostMock(ASource: TIdStrings): String;
  var
     MailMessage: TIdMessage;
     _receiver,
     _subject,
     _bodycontent: String;
  begin
    // Wenn cbSSLMails gecheckt ist, dann wird die Mail mit SSL verschickt.

    with Form1 do begin
      IdSMTP1.Host := mail_host;
      IdSMTP1.Port := StrToInt(mail_port);
      IdSMTP1.Username := {Benutzername};
      IdSMTP1.Password := {Passwort};

      _receiver := ASource.Values ['receiver'];
      _subject := ASource.Values ['subject'];
      _bodycontent := ASource.Values ['bodycontent'];

      if cbSSLMails.Checked then begin // SSL konfigurieren
        with IdSSLIOHandlerSocketOpenSSL1 do begin
          MaxLineAction := maException;
          with SSLOptions do begin
            Method := sslvSSLv3;//sslvTLSv1;
            Mode := sslmUnassigned;
            VerifyMode := [];
            VerifyDepth := 0;
            PassThrough := false;
          end;
        end;
        IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
        IdSMTP1.UseTLS := utUseImplicitTLS; // für Port 465 (bereits das Greeting ist verschlüsselt)
      end;

      MailMessage := TIdMessage.Create(nil);
      try
        with MailMessage do begin
          Recipients.Clear;
          From.Name := {From-Name};
          From.Address := IdSMTP1.Username;
          ReplyTo.EMailAddresses := {Adresse};
          Recipients.EMailAddresses := _receiver;
          Date := now;
          Subject := _subject;
          Body.Text := _bodycontent;
        end;

        IdSMTP1.AuthType := atDefault;//atDefault; // (atNone, atDefault, atSASL) // atDefault ist wahrscheinlich atLogin
        IdSMTP1.Connect;
        Fred.MailSent := false;
        IdSMTP1.Send(MailMessage);
        Repeat
          Application.ProcessMessages;
        until Fred.MailSent;
        if IdSMTP1.Connected then IdSMTP1.Disconnect;
        FreeAndNil(MailMessage);
        Result := 'Success';
      except on e: Exception do begin
        FreeAndNil(MailMessage);
        Result := 'Mail delivery failed ('+e.Message+').';
      end;
      end;
    end;
  end;
Hm... (?)
lg Caps

Klaus01 28. Feb 2014 12:01

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
.. in dem Project-Verzeichnis liegt auch Deine Exe?

Grüße
Klaus

Caps 28. Feb 2014 12:18

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Zitat:

Zitat von Klaus01 (Beitrag 1250014)
.. in dem Project-Verzeichnis liegt auch Deine Exe?

Grüße
Klaus

Ja :-)

Klaus01 28. Feb 2014 12:25

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Liste der Anhänge anzeigen (Anzahl: 1)
.. kannst Du mal die angehängten ssl DLLs ausprobieren.
Du haben zumindest bei mir mit TurboDelphi (2006) funktioniert.

Grüße
Klaus

Caps 28. Feb 2014 12:32

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Zitat:

Zitat von Klaus01 (Beitrag 1250022)
.. kannst Du mal die angehängten ssl DLLs ausprobieren.
Du haben zumindest bei mir mit TurboDelphi (2006) funktioniert.

Grüße
Klaus

Tja, haben leider nicht funktioniert. Die gleiche Fehlermeldung. :-(

Klaus01 28. Feb 2014 12:35

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
.. hast Du in einem Suchpfad vielleicht noch irgendwo anders diese Dlls liegen?

Mit meinem Latein langsam am Ende..

Zitat:

Indy's WhichFailedToLoad() function in the IdSSLOpenSSLHeaders unit will tell you why OpenSSL could not be loaded. Either you do not have the OpenSSL DLLs installed, or you have an incompatible version of the DLLs installed that is missing functionality that Indy is looking for.
Quelle

Grüße
Klaus

Caps 28. Feb 2014 13:04

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Zitat:

Zitat von Klaus01 (Beitrag 1250024)
.. hast Du in einem Suchpfad vielleicht noch irgendwo anders diese Dlls liegen?

Mit meinem Latein langsam am Ende..

Zitat:

Indy's WhichFailedToLoad() function in the IdSSLOpenSSLHeaders unit will tell you why OpenSSL could not be loaded. Either you do not have the OpenSSL DLLs installed, or you have an incompatible version of the DLLs installed that is missing functionality that Indy is looking for.
Quelle

Grüße
Klaus

Danke, das mit dem WhichFailedToLoad() werde ich mal ausprobieren...

Caps 28. Feb 2014 13:39

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
WhichFailedToLoad gab folgenden String zurück: "Failed to load ssleay32.dll".

Möglicherweise bedeutet dies, dass die libeay32.dll geladen wurde (?).
Ich habe die Anweisung
Code:
showmessage(WhichFailedToLoad)
direkt zu Beginn der Funktion PostMock eingefügt.

Colaka 5. Mär 2014 04:42

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Hallo,

gibt es denn inzwischen eine Lösung?

Ich habe das gleiche Problem für Delphi 2005 und inzwischen so ca. 20 bis 30 verschiedene Versionen der beiden Dateien libeay32.dll und ssleay32.dll ausprobiert, bis jetzt hat keine funktioniert.

Es muß doch möglich sein, irgendwo eine Indy-Version mit den passenden DLLs zu bekommen.


Vielen Dank

hoika 5. Mär 2014 06:42

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Hallo,

also ich hatte mir damals die neueste Version von Indy geholt,
nach dem Tutorial alle alten Dateien entfernt (Search EveryThing ist dein bester Freund).
Danach konnte ich die Indys ganz normal benutzen.

War aber zugegeben eine ganz schöne Pfriemelei.

Vielleicht hast du noch alte Dateien in den Libs ?

Erzeuge die id-Komponenten mal zur Laufzeit,
nicht aufs Form packen.
Dass lässt sich auch besser Debuggen.

Hier noch einmal der Link für das Tutorial:
http://www.indyproject.org/sockets/D...lation.de.aspx

Und noch einmal der Hinweis.
Benutze unbedingt searhc Everything, um auch wirklich alle Dateien zu finden,
die stehen u.U. nicht alle im Programme-Verzeichnis.


Heiko

Perlsau 5. Mär 2014 07:14

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Zitat:

Zitat von Caps (Beitrag 1250030)
WhichFailedToLoad gab folgenden String zurück: "Failed to load ssleay32.dll".

Möglicherweise bedeutet dies, dass die libeay32.dll geladen wurde (?).
Ich habe die Anweisung
Code:
showmessage(WhichFailedToLoad)
direkt zu Beginn der Funktion PostMock eingefügt.

Wenn ich das dort richtig gelesen habe, weist die obige Fehlermeldung tatsächlich darauf hin, daß die DLL nicht geladen wurde. Andernfalls würdest du ganz andere Fehlermeldungen sehen, die Konflikte mit entsprechenden Methoden in der DLL angeben. Im Fall, auf den der Link verweist, scheint es sich im Versionsunterschiede zu handeln. Ich würde daher noch einmal den ganzen Indy-Kram von vorne installieren, und zwar in einem anderen Ordner. Ich z.B. installiere alle Komponenten wenn möglich unter Users\Public\Documents\RadStudio. Dort gibt es keine Zugriffsbeschränkungen. Beim Herunterladen solltest du genauestens darauf achten, daß Indy und Dlls zusammenpassen.

Caps 5. Mär 2014 09:18

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Die "Lösung" war ein Umstieg auf Indy9. Mit den 10ern habe ich es nicht zum Laufen gebracht. Sorry, mehr ein Workaround als eine Lösung :-(.

lg Caps

Perlsau 5. Mär 2014 13:56

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
Liegt das jetzt an deiner doch recht betagten Delphi-Version, daß du Indy-10 nicht verwenden kannst?

hstreicher 5. Mär 2014 16:20

AW: "Could not load SSL library" (D2007, Indy10, OpenSSL?)
 
2007 Professional läuft bei mir prima mit Indy 10 und ssl ,
mein Indy ist eine 10.5.8.0
SSL 1.0.0.e


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz