![]() |
Frage zu OpenSSL
Hi
Wusste jetzt nicht genau wohin mit der Frage... Irgendwie blick ich da nich mehr ganz durch bei den OpenSSL Librarys. Bei einem alten Projekt von mir habe ich mir die Librarys mit dem OpenSSL-Installer von ![]() Jetzt bin ich grad an einem neuen Projekt dran und da klappt das irgendwie nicht mehr... Wenn ich mir aus diesem ![]() Warum geht denn das jetzt nicht mehr mit dem Installer? Der sagt dann immer could not load ssl library. Warum findet der die denn nicht mehr? Gruß |
Re: Frage zu OpenSSL
Weiß denn keiner eine Antwort darauf?
Muss ich nochmal gucken vieleicht liegts an meinem system, weil ich kann die openssl.exe auch gar nich öffnen um zertifikate und so zu erstellen |
Re: Frage zu OpenSSL
Hi,
Zitat:
Der Fehler tritt unter genau einer Bedingung auf: Es werden eine inkompatible DLL Version und Indy Version gemischt. Als Faustregel kann ich sagen: - Für alle alten Indy Versionen, z.B. Version 9 und Version 10 (< 10.2.x) wie z.B. mit Delphi installiert, gehen NUR meine OpenSSL DLLs aus dem von Dir erwähnten Thread mit meinem jeweiligen angepassten Headerfile. - Für aktuelle Indy Version (Trunk v10.2.3 oder Branch aus dem SVN) gehen -auch- normale, vorkompilierte OpenSSL DLLs mit einer Version >= 0.9.8. Das Problem liegt hier nicht an Indy, sondern an OpenSSL. Es wurde verschiedene Funktionen umbenannt, um den Programmieren klar zu machen, daß diese nicht mehr genutzt werden sollen. Das läßt sich nur mit aktuellen Headern, wie ich sie bereitstelle, umsetzen. Wird also irgendwie gemixt, knallt es. Daher die Fehlermeldung. Die von Dir erwähnten "Shining Light" DLLs sind also "normale" vorkompilierte DLLs, die nur mit aktuellen Headern von mir oder aus dem Indy SVN laufen. Und zusätzlich als Hinweis: Ich empfehle die Nutzung meiner DLLs, denn andere vorkompilierte DLLs haben teilweise Abhängigkeiten zu msvcrt7x.dll, benötigen also entweder das VC++ Runtime oder mindestens Windows 2k/XP. Meine DLLs sind mit MinGW erstellt und linken direkt gegen msvcrt.dll, laufen somit selbst unter Win9x ohne jede externe Abhängigkeit. Gruß Assertor |
Re: Frage zu OpenSSL
Hi
Ich nutze Delphi 2007 Version 11.0.2804.9245 und die Indy Version die dabei ist (weiß jetzt nicht genau welche Version das ist), aber das reicht mir schon als Antwort! Hat mich nur gewundert das es nich mehr ging. Also pack ich dann immer direkt die aktuellsten openssl DLLs mit in mein Projekt dabei. Danke für die Infos Gruß Achso wo wir gerade bei dem Thema sind. Die OpenSSL.exe kann ich nicht starten. (Ist wieder von dem Installer von Shining Light). Der sagt mit die Anwendungskonfiguration ist nich korrekt. Wahrscheinlich muss ich die openssl.cfg bearbeiten, aber ich hab keine Ahnung was ich da alles ändern muss. Kennt jemand n gutes tutorial dafür? |
Re: Frage zu OpenSSL
Hi,
Zitat:
Zitat:
1) Zum einen, wie bereits erwähnt, brauchst Du - je nachdem wer die DLLs erstellt - weitere Dateien: ![]() Hier steht z.B. als Hinweis, man muß die VC++ 2008 Redistributables installieren. Genau deswegen, erstelle ich ja selber DLLs. Die sind auch mit PEBrowser geprüft und für x64 hab ich auch schon welche... 2) Es gibt auch einen kleinen Bug derzeit in OpenSSL.exe, wo das Ding manchmal garnicht startet. Ich find aber derzeit den Link aus der OpenSSL Mailingliste nicht. Aber falls Du überhaupt keine Rückmeldung von der .EXE bekommst, merkst Du das ja ;) Gruß Assertor |
Re: Frage zu OpenSSL
Geil! Danke dir! Das Installieren des VC++ 2008 Redistributable hat wirklich das Problem gelöst!
Besten Dank nochmal für Alles! Gruß |
Re: Frage zu OpenSSL
Zitat:
Gruß Assertor |
Re: Frage zu OpenSSL
Ich wollte nochmal kurz was Fragen:
Bei den IdSSLIOHandlerSocketOpenSSL bzw den für den Server da gibt es verschiedene SSL Optionen. CertFile, CipherList, Keyfile und RootCertFile. Wozu sind die alle und brauch ich die auch? Mein Programm soll nachher möglichst sicher über das Netzwerk bzw Internet kommunizieren können. Dabei habe ich eine Server Anwendung und eine Client Anwendung. Wie genau läuft das dann ab mit den Zertifikaten? Muss sich der User dann selber welche erstellen? Weil wenn ich die erstelle, dann wären die ja frei verfügbar und das würde doch den Sinn auflösen oder? Gruß |
Re: Frage zu OpenSSL
Hi,
es gibt verschiedene Möglichkeiten Zertifikate einzusetzen. Die üblichste ist, der Server hat ein Zertifikat und mit diesem wird der Datenverkehr verschlüsselt. Man -kann- mit Indy auch das Serverzertifikat prüfen, z.B. ob es von einer bestimmten Domain ist oder andere Eckdaten. Zusätzlich besteht über die von Dir angesprochenen Methoden die Möglichkeit, Zertifikate auch auf Clientseite einzusetzen. Ebenfalls vorgesehen sind die Wege der Rootcerts, also um Vertrauensstellungen gegenzuprüfen. Wie Du aber schon erkannt hast, setzt dies voraus, daß der Benutzer ein solches Zertifikat besitzt und Dein Server muß dies auch in irgendeiner Form prüfen. Das wäre natürlich in sofern sicherer, als daß Dein Server hierbei nur verschlüsselte Verbindungen zu authentifizierten Client aufbauen würde. Dies erfordert aber auch Anpassungen auf der Serverseite. Ich selbst verwende ein einfaches serverseitiges Zertifikat auf unserer Domain und der Updater z.B. baut eine verschlüsselte Verbindung mit dem Server auf. Kein Clientzertifikat. Zum Thema sicherheit: Beim Onlinebanking hast Du i.d.R. auch kein Clientzertifikat, sondern nur das Serverzertifikat. Das ist aber durchaus - je nach Zertifikat - "sicher" (soweit es das überhaupt gibt ;). Gruß Assertor |
Re: Frage zu OpenSSL
D.h. also wenn ich nur ein Serverzertifikat nutzen möchte, bräuchte ich nur im IOSSLHandler der Server Application das "CertFile" angeben?
Wenn ich zusätzlich dem Client n das gleiche Zertifikat gebe, dann könnte ich mit der Server Application prüfen ob der Client das Zertifikat hat und dann diesen authorisieren, oder? Also ich denke mal ich werd mich da noch ein bisschen reinarbeiten müssen. Wo finde ich die Dokumentation zu den Indy Copmonenten? Am liebsten wäre mir n schönes Tutorial zu dem Thema.. Wofür sind denn dann CipherList und Keyfile? Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 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