AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu OpenSSL

Ein Thema von delphin06 · begonnen am 14. Jul 2008 · letzter Beitrag vom 19. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#1

Frage zu OpenSSL

  Alt 14. Jul 2008, 23:31
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 Shining Light Productions installiert.

Jetzt bin ich grad an einem neuen Projekt dran und da klappt das irgendwie nicht mehr...
Wenn ich mir aus diesem Thread die Librarys mit ins Projektverzeichnis lege klappt es einwandfrei.

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ß
  Mit Zitat antworten Zitat
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#2

Re: Frage zu OpenSSL

  Alt 16. Jul 2008, 23:47
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
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#3

Re: Frage zu OpenSSL

  Alt 17. Jul 2008, 00:18
Hi,
Zitat von delphin06:
Der sagt dann immer could not load ssl library. Warum findet der die denn nicht mehr?
Welche Indy Version nutzt Du denn?

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
Frederik
  Mit Zitat antworten Zitat
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#4

Re: Frage zu OpenSSL

  Alt 17. Jul 2008, 11:42
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?
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#5

Re: Frage zu OpenSSL

  Alt 17. Jul 2008, 12:11
Hi,

Zitat von delphin06:
... 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
Freut mich, Dir helfen zu können!

Zitat von delphin06:
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?
Ja, es gibt zwei kleine Probleme mit OpenSSL - zum Glück liegt das an denen
1) Zum einen, wie bereits erwähnt, brauchst Du - je nachdem wer die DLLs erstellt - weitere Dateien:
http://www.mail-archive.com/openssl-.../msg53491.html
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
Frederik
  Mit Zitat antworten Zitat
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#6

Re: Frage zu OpenSSL

  Alt 17. Jul 2008, 23:29
Geil! Danke dir! Das Installieren des VC++ 2008 Redistributable hat wirklich das Problem gelöst!

Besten Dank nochmal für Alles!

Gruß
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#7

Re: Frage zu OpenSSL

  Alt 18. Jul 2008, 10:19
Zitat von delphin06:
Geil! Danke dir! Das Installieren des VC++ 2008 Redistributable hat wirklich das Problem gelöst!

Besten Dank nochmal für Alles!
Bitte, gerne!

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#8

Re: Frage zu OpenSSL

  Alt 18. Jul 2008, 11:51
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ß
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#9

Re: Frage zu OpenSSL

  Alt 18. Jul 2008, 15:40
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
Frederik
  Mit Zitat antworten Zitat
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#10

Re: Frage zu OpenSSL

  Alt 18. Jul 2008, 23:48
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ß
  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 00:17 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