Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy mit ssl - Einbindung von libeay32.dll und ssleay32.dll (https://www.delphipraxis.net/126116-indy-mit-ssl-einbindung-von-libeay32-dll-und-ssleay32-dll.html)

lowmax_5 18. Dez 2008 11:54


Indy mit ssl - Einbindung von libeay32.dll und ssleay32.dll
 
Hallo,

gibt es eine Möglichkeit die SSL-Dll's libeay32.dll und ssleay32.dll direkt in die Exe einzubinden, so dass diese nicht mehr als separate Dateien beigefügt werden müssen?

Bin für jeden Tipp dankbar!

lowmax

Assertor 18. Dez 2008 13:14

Re: Indy mit ssl - Einbindung von libeay32.dll und ssleay32.
 
Hi,

Zitat:

Zitat von lowmax_5
gibt es eine Möglichkeit die SSL-Dll's libeay32.dll und ssleay32.dll direkt in die Exe einzubinden, so dass diese nicht mehr als separate Dateien beigefügt werden müssen?

Hier wirst Du gleich bestimmt etwas hören wie z.B. link die über eine Resourcendatei ein und entpacke diese bei Bedarf zur Laufzeit...

Ich verstehe Deine Frage so, ob die Libraries statisch in die EXE eingelinkt und die Funktionen im Speicher ausgeführt werden können. Die Möglichkeit gibt es technisch gesehen schon, aber mir ist keine fertige Umsetzung bekannt.

Generell würde Ich davon abraten, denn der Sinn einer externen Library liegt auch darin, Admins zu ermöglichen, diese gegen neuere, sichere Libraries (soweit kompatibel) austauschen zu können.

Wenn Du es selbst machen kannst, mußt Du entsprechend Objektfiles von OpenSSL erstellen und ggf. Wrapper für Klassen und Strukturen schreiben (wobei es bei Indy & OpenSSL bestimmt auch ohne geht).

Schau Dir mal die Tutorials von Rudy Velthuis an wegen Nutzung von C/C++ Objectfiles in Delphi, die sind für Einsteiger richtig gut.

Gruß Assertor

lowmax_5 18. Dez 2008 14:02

Re: Indy mit ssl - Einbindung von libeay32.dll und ssleay32.
 
Vielen Dank für die schnelle Antwort. Der von Dir genannte Artikel beschreibt in der Tat die Vorgehensweise sehr gut.
Der Hintergrund für das Einbinden der DLL's ist es, das die Kunden möglichst nur eine einzige Datei erhalten sollen, um Fehlerquellen bei der Installation auszuschliessen.

Ich meine dass ich in einem Forumsbeitrag zum Thema Indy gelesen habe, dass bereits entsprechende Dateien existieren, um die DLL's in die Applikation zu integrieren. Leider war aber keine weiterführende Info dabei.

lowmax

Assertor 18. Dez 2008 15:18

Re: Indy mit ssl - Einbindung von libeay32.dll und ssleay32.
 
Hi lowmax,

Zitat:

Zitat von lowmax_5
Vielen Dank für die schnelle Antwort. Der von Dir genannte Artikel beschreibt in der Tat die Vorgehensweise sehr gut.

Keine Ursache!

Zitat:

Zitat von lowmax_5
Der Hintergrund für das Einbinden der DLL's ist es, das die Kunden möglichst nur eine einzige Datei erhalten sollen, um Fehlerquellen bei der Installation auszuschliessen.

Kann ich gut nachvollziehen. Ich mache es in der Regel auch so, wobei ich hier bei den OpenSSL dlls auch eine Ausnahme mache. Diese werden einfach über das Setup in das Verzeichnis der Anwendung deployed. Dadurch ist afaik auch sichergestellt, daß Windows die Datei Deiner Anwendung verwendet und nicht irgendetwas aus dem Pfad nutzt.

Von der Seite wird es sicherlich keine Probleme geben, solange Deine Benutzer nicht von Hand die Dateien rumkopieren und/oder löschen.

Zitat:

Zitat von lowmax_5
Ich meine dass ich in einem Forumsbeitrag zum Thema Indy gelesen habe, dass bereits entsprechende Dateien existieren, um die DLL's in die Applikation zu integrieren. Leider war aber keine weiterführende Info dabei.

Gute Frage, ich konnte ad hoc hier nichts finden. Falls Du über einen Link zu dem Thema stolperst, mail mir das doch mal.

Ich war auch schon am Überlegen, wir hatten das auch im Indy Core Team vor einiger Zeit ausführlich diskutiert und sind auf dem gemeinsamen Standpunkt: keine internen Libraries. Auch im Hinblick auf andere Betriebssysteme. Mangels Zeit hab ich mich deswegen auch nie daran gesetzt.

Aber wie gesagt, prinzipiell ist es schon möglich... Nur ob wirklich sinnvoll ist eine kontroverse Frage.

Gruß Assertor

:dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 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