AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Could not load SSL library" (D2007, Indy10.1.5)
Thema durchsuchen
Ansicht
Themen-Optionen

Could not load SSL library" (D2007, Indy10.1.5)

Ein Thema von KlausV · begonnen am 28. Mai 2018 · letzter Beitrag vom 29. Mai 2018
Antwort Antwort
Seite 1 von 2  1 2      
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
84 Beiträge
 
Delphi 7 Professional
 
#1

Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 10:59
Hallo Zusammen,
ich muss in einem Uralt Projekt den Web Zugriff von HTTP auf HTTPS umstellen. Das Programm ist in Europa auf verschiedenen Windows Plattformen im Einsatz.
Dies ist leider leichter als gedacht, weil ich vor gefühlten 100 Jahren mit Delphi zu tun hatte. Ich hatte zwar vor kurzem noch die Proxy Variante in das Projekt eingebaut, aber das war relativ einfach.
Installiert ist Delphi 7 Build 8.1 mit den Indy Komponenten 10.1.5. unter Windows 32-bit.

Mein Statement für den Aufruf:
IdHTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

Ich bekomme nun o.g. Fehler in der Source IdSSLOpenSSL
Delphi-Quellcode:
constructor TIdSSLContext.Create;
begin
  inherited Create;
  if DLLLoadCount <= 0 then begin
     if not IdSSLOpenSSL.LoadOpenSLLibrary then begin
       raise EIdOSSLCouldNotLoadSSLLibrary.Create(RSOSSLCouldNotLoadSSLLibrary);
    end;
  end;
Die zwei Dateien libeay32.dll und ssleay32.dll liegen im Projektverzeichnis und auch nur dort.
Version der zwei Dateien ist 1.0.2.12.
Ich habe jetzt bammel davor die Indy Komponenten hochzuziehen, wenn es daran liegen kann.
Was kann ich noch tun?
Eventuell liegt es ja auch daran, dass ich die Zuweisung an einer falschen Stelle gemacht habe.


Danke.
Gruß Klaus

Geändert von mkinzler (28. Mai 2018 um 11:25 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 11:08
Hast du mal in LoadOpenSLLibrary reindebuggt?
In meiner Indy-Version landet man am Ende irgendwo bei einem SafeLoadLibrary-Aufruf.
Hier kannst kontrollieren, ob der Pfad und der Dateiname stimmen.

Delphi-Quellcode:
function LoadSSLCryptoLibrary: HMODULE;
begin
...
    {$IFDEF WINDOWS}
  //On Windows, you should use SafeLoadLibrary because
  //the LoadLibrary API call messes with the FPU control word.
  Result := SafeLoadLibrary(GIdOpenSSLPath + SSLCLIB_DLL_name);
    {$ELSE}
...
end;
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
84 Beiträge
 
Delphi 7 Professional
 
#3

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 11:13
Und hier noch der Quellcode. Eventuell liegt es ja auch daran, dass ich es falsch eingebunden habe.
Wäre super, wenn ihr mal schauen könntet.
Danke.
Angehängte Dateien
Dateityp: pas DMSMainUNT.pas (44,4 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
84 Beiträge
 
Delphi 7 Professional
 
#4

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 11:27
Hast du mal in LoadOpenSLLibrary reindebuggt?
In meiner Indy-Version landet man am Ende irgendwo bei einem SafeLoadLibrary-Aufruf.
Hier kannst kontrollieren, ob der Pfad und der Dateiname stimmen.

Delphi-Quellcode:
function LoadSSLCryptoLibrary: HMODULE;
begin
...
    {$IFDEF WINDOWS}
  //On Windows, you should use SafeLoadLibrary because
  //the LoadLibrary API call messes with the FPU control word.
  Result := SafeLoadLibrary(GIdOpenSSLPath + SSLCLIB_DLL_name);
    {$ELSE}
...
end;
Danke für die schnelle Antwort.
Ich finde zwar die Funktion. Aber das Statement SafeLoadLibrary(GIdOpenSSLPath + SSLCLIB_DLL_name)finde ich nicht. Habe alle sourcen auf C:\ untersucht.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 11:40
Gibt es in deiner Version schon eine Unit namens IdSSLOpenSSLHeaders?
Wenn ja, einfach mal mit oben in die uses schreiben.
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
84 Beiträge
 
Delphi 7 Professional
 
#6

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 14:07
Gibt es in deiner Version schon eine Unit namens IdSSLOpenSSLHeaders?
Wenn ja, einfach mal mit oben in die uses schreiben.
Ja, die gibt es und ich habe sie in uses eingebunden. Der gleiche Fehler kommt nun nicht wie vorher bei der Handler Zuweisung, sondern beim POST.
Ich habe die URL auf HTTPS geändert. Auf dem Server gibt es ein Zertifikat mit 256er Verschlüsselung.
Ich kann aber leider derzeit überhaupt nicht bewerten woran es liegt.
Ich habe das Programm eingestellt, eventuell liegt es auch der Vorgehensweise.
Danke.
Gruß Klaus
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 14:27
Ältere Indy Versionen benutzten spezielle Builds der OpenSSL Bibliotheken, die einen anderen Dateinamen haben.

(siehe https://stackoverflow.com/a/22051464/6517492)

Zitat:
Use Indy's WhichFailedToLoad() function in the IdSSLOpenSSLHeaders unit to find out which DLL failed to load
Dies sollte den Dateinamen anzeigen der gesucht wird (von https://stackoverflow.com/q/35291086/6517492)
Michael Justin
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
84 Beiträge
 
Delphi 7 Professional
 
#8

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 15:04
Hallo Michael,
die Funktion gibt aus, dass die Datei ssleay32.dll nicht gefunden wurde.
Jetzt habe ich unter deinem Link geschaut, da gibt es so viele Versionen. Wie sieht man, welche SSL Version zu welcher Indy Version passt?
Hast Du zufälig mal in mein Progamm geschaut, ob ich das so korrekt mache oder eventuell hier auch noch ein Fehler ist.
Ich nutze, je nach dem was der Client benötigt auch einen Proxy.Bei meinem Test ist das auch so.

Ich befürchte, dass ich Indy auf die Version bringen muss, die noch unter Delphi 7 funktioniert. Wo finde ich diese?

Danke.
Gruß Klaus

Geändert von KlausV (28. Mai 2018 um 15:30 Uhr)
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#9

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 17:34
Ich habe es auch nicht geschafft, dem Indy unter Delphi 2007 https beizubringen.

Ständig diese Fehler Could not load SSL library o.ä.. Alle möglichen Versionen von libeay32.dll und ssleay32.dll schon ausprobiert.

Meine aktuelle Lösung:
Eine DLL, mit Tokyo 10.2 geschrieben, die die https-Funktionen kapselt, die ich brauche. Die wird von D2007 aufgerufen.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Could not load SSL library" (D2007, Indy10.1.5)

  Alt 28. Mai 2018, 18:03

Ich befürchte, dass ich Indy auf die Version bringen muss, die noch unter Delphi 7 funktioniert. Wo finde ich diese?
Dia aktuelle Version von Indy funktioniert noch mit Delphi 7.

Dieser Artikel enthält Links auf die mit Subversion downloadbaren Quelltexte und die 'Nightly Builds'

https://wiert.me/2018/05/24/indy-rep...ightly-builds/
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz