Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   SSL Bibliothek nicht gefunden.. (https://www.delphipraxis.net/202656-ssl-bibliothek-nicht-gefunden.html)

erich.wanker 25. Nov 2019 15:14

SSL Bibliothek nicht gefunden..
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich steh vor einem Rätsel...

Beschreibung:
Mein Programm ist eine 32 Bit Application - das mit Systemrechten läuft (erstellt via DelphiXE4) und Dateinen downloaden sollte ;-)

Fehler
Auf einem Win2016 Server (64bit) funktioniert mein download nicht:Fehler SSL Bibliothek nicht gefunden.


Code

Delphi-Quellcode:
procedure TVM_INDEX.starte_download;
var
  IdHTTP1: TIdHTTP;
  Stream: TMemoryStream;
  Url, FileName: String;
begin

    IdOpenSSLSetLibPath(mainform.datenpfad + 'index_download\');

    Url := 'https://data.statistik.gv.at/data/OGD_vpi96_VPI_1996_1.csv';
    FileName := mainform.datenpfad + 'index_download/' + 'OGD_vpi96_VPI_1996_1.csv';
    IdHTTP1 := TIdHTTP.Create(self);
    IdHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

    Stream := TMemoryStream.Create;
    try
      IdHTTP1.Get(Url, Stream);
      Stream.SaveToFile(FileName);
    finally
      IdHTTP1.IOHandler.Free;
      Stream.Free;
      IdHTTP1.Free;
    end;
Hinweise:

Im Ordner: mainform.datenpfad + 'index_download\' -> liegen die zwei 32bit indy Dateine: ssleay32.dll / libeay32.dll

Es funktioniert auf anderen Systemen - dieser Win2016er will aber nicht ;-)

Durch "IdOpenSSLSetLibPath" sage ich ja explizit, welche dll geladen werden soll .. wieso findet er die existierenden! Dateien nicht?

ich hab in Windows/system32 die 2 dll´s reinkopiert - hilft auch nix

Ich hab in den Application-Pfad die 2 dll´s reinkopiert - hilft auch nix

Detail-Infos über die Dateien
siehe JPeg


Danke für Hinweise, wie ich das zum laufen bekomme :-)

LG
Erich

hoika 25. Nov 2019 15:15

AW: SSL Bibliothek nicht gefunden..
 
Hallo,
such mal auf dem Rechner,
ob es noch mehr dieser DLLs gibt.

HolgerX 26. Nov 2019 07:07

AW: SSL Bibliothek nicht gefunden..
 
Hmm..

Wie lautet den der Pfad in mainform.datenpfad?

erich.wanker 26. Nov 2019 10:30

AW: SSL Bibliothek nicht gefunden..
 
Hallo hoika

.. hab grad Zugriff bekommen - JA .. es gibt ein Monitoring-Programm, das auch ssleay32.dll / libeay32.dll verwendet
Liegt unter c:\Programme(x386)\A...



Hallo HolgerX

Der Pfad ist c:\VertsatileServer\htdocs\files\

Hab ich kontrolliert - Pfadangabe stimmt - Die Dateien ssleay32.dll / libeay32.dll existieren am richtigen Fleck


LiGrü
Erich

hoika 26. Nov 2019 10:36

AW: SSL Bibliothek nicht gefunden..
 
Hallo,
Zitat:

JA .. es gibt ein Monitoring-Programm, das auch ssleay32.dll / libeay32.dll verwendet
Benenne mal deren DLLs um.

Ich glaube, dein Problem ist, dass trotz deines Pfad-Setzens das LoadLibrary die DLLs des Monitoring-Programmes benutzt,
wenn das Monitoring-Programm die DLLs vorher geöffnet hat.

erich.wanker 26. Nov 2019 17:47

AW: SSL Bibliothek nicht gefunden..
 
hi..

ich kann die dll´s leider nicht so einfach umbenennen .. da müsste ich die Service-IT Firma des Kunden beauftragen

Aber definitiv sind die SSL Dlls in diesem Ordner vorhanden..

Wie kann ich mein Programm dazu bringen meine zum verwenden?

hoika 26. Nov 2019 18:45

AW: SSL Bibliothek nicht gefunden..
 
Hallo,
es gibt dort eine UnloadOpenSSLLibrary;
Das habe ich als erstes aufgerufen.

Edelfix 27. Nov 2019 08:42

AW: SSL Bibliothek nicht gefunden..
 
Du benutzt
Delphi-Quellcode:
TIdSSLIOHandlerSocketOpenSSL.Create(nil);
in Quelltext. Aktivierst TLS1.2 nicht oder was du so brauchst.

Versuch das ganze mit Komponenten auf einer DatenModul Oberfläche und aktiviere TLS1.2

erich.wanker 27. Nov 2019 13:57

AW: SSL Bibliothek nicht gefunden..
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

so .. das Problem sind wirklich die verschiedenen DLL-Versionen auf dem Rechner :cry:

Hab einen Screenshot gemacht - wo man die 2 Programme sieht, die auch openSSL verwenden

Die kann ich weder löschen noch sonst beeinflussen!

Wie kann ich nun mein Programm zum laufen bringen ?

HolgerX 27. Nov 2019 18:18

AW: SSL Bibliothek nicht gefunden..
 
Hmm...

Quick and Dirty: ;)

Benenne die DLLs um und trage deren Namen in

IdSSLOpenSSLHeaders

bei den Konstanten namen ein....

Delphi-Quellcode:
const
  SSL_DLL_name        = 'ssleay32.dll'; {Do not localize}
  //The following is a workaround for an alternative name for
  //one of the OpenSSL .DLL's. If you compile the .DLL's using
  //mingw32, the SSL .dll might be named 'libssl32.dll' instead of
  //ssleay32.dll like you would expect.
  SSL_DLL_name_alt    = 'libssl32.dll'; {Do not localize}
  SSLCLIB_DLL_name    = 'libeay32.dll'; {Do not localize}
Oder, Du schiebst der anderen Anwendung einfach deine Version der DLLs unter ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 Uhr.
Seite 1 von 2  1 2      

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