Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy: SSL3_GET_RECORD:wrong version number (https://www.delphipraxis.net/122618-indy-ssl3_get_record-wrong-version-number.html)

delphin06 19. Okt 2008 14:50


Indy: SSL3_GET_RECORD:wrong version number
 
Hallo

Ich habe da gerade wieder ien Problem mit Indy. Und zwar bin ich ein bisschen am rumspielen an einer client server Kommunikation. Ich hab mir ne kleine Server Anwendung und eine Client Anwendung geschrieben. Da ich OpenSSL verwenden will, benutze ich den OpenSSL Handler von Indy. Wenn ich der Server Anwendung jetz eine Nachricht senden möchte, kommt es aber zu einer Exception:

Code:
Error connecting with SSL.
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Kann mir jemand sagen was genau das zu bedeuten hat? Ich benutze Delphi 2009 und die Openssl Libraries 0.9.8i.

Gruß Maik

delphin06 20. Okt 2008 23:00

Re: Indy: SSL3_GET_RECORD:wrong version number
 
Hmm...hat keiner ne Ahnung?

delphin06 23. Okt 2008 20:36

Re: Indy: SSL3_GET_RECORD:wrong version number
 
Ich hab das jetzt nochmal alles neu programmiert aber es passiert immer weider das gleiche...

Hier mal mein Code:

Server:
Delphi-Quellcode:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
begin
  AContext.Connection.IOHandler.WriteLn('Hello from Server.');
  memo1.Lines.Add(AContext.Connection.IOHandler.ReadLn());
end;
Client:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with IdTCPClient1 do begin
    Connect;
    try
      Memo2.Lines.Add(IdTCPClient1.IOHandler.ReadLn());
      IoHandler.WriteLn(memo1.text);
    finally
      Disconnect;
    end;
  end;
end;

Ohne die SSL IOHandler von Indy klappt alles wunderbar! Sobald ich aber die SSL Handler aktiviere, kommt der oben genannte Fehler bei TLSv1 und SSL3. Wenn ich SSL2 nehme, dann hängt sich der Client auf.

Ich verstehe das nicht. Ich denke es ist ein Bug in den Indys. Also wie gesagt ich nutze die Indy Version, die bei Delphi 2009 dabei ist. Vieleicht ist hier ein Indy Entwickler und könnte da mal nachgucken

Gruß

easywk 13. Okt 2009 10:13

Re: Indy: SSL3_GET_RECORD:wrong version number
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich pushe diesen Thread mal, da ich das gleiche Problem habe - allerdings bei Verwendung von TIdSmtp.

Ich verwende Indy 10.2.5 und die aktuellste OpenSLL unter Delphi 7. Wenn ich nun versuche via SMTP eine Mail mit TLS zu verschicken, bekomme ich die oben beschriebene Fehlermeldung. Der Log des IO-Handlers sagt mir, dass er zumindest bis zum Helo kommt. Den Log und die Fehlermeldung hänge ich mal als (Teil-)Screenshot an.

Gruß
easy

Assertor 13. Okt 2009 10:24

Re: Indy: SSL3_GET_RECORD:wrong version number
 
Hi easy,

Zitat:

Zitat von easywk
ich pushe diesen Thread mal, da ich das gleiche Problem habe - allerdings bei Verwendung von TIdSmtp.

Ich verwende Indy 10.2.5 und die aktuellste OpenSLL unter Delphi 7. Wenn ich nun versuche via SMTP eine Mail mit TLS zu verschicken, bekomme ich die oben beschriebene Fehlermeldung. Der Log des IO-Handlers sagt mir, dass er zumindest bis zum Helo kommt. Den Log und die Fehlermeldung hänge ich mal als (Teil-)Screenshot an.

Zunächst: Die aktuelle Indy version ist 10.5.7, tagesaktuell im SVN zu finden. Mirror: http://indy.fulgan.com/ZIP/IndyTiburon.zip

Dort gibt es auch die derzeit aktuelle OpenSSL v0.9.8k für Indy: http://indy.fulgan.com/SSL/openssl-0...i386-win32.zip

Zum Problem: Der Fehler "SSL3_GET_RECORD:wrong version" bedeutet im Prinzip, dass sich Client und Server nicht auf ein Protokoll einigen konnten. z.B. wenn der Client ausschließlich SSLv3 unterstützt und der Server nur SSLv2.

Prüfe im IdSSL Objekt, ob in den SSL Options Method auf sslvSSLv23 steht. SSLv23 bedeutet: Alle von OpenSSL unterstützten Protokolle werden nutzbar. Diese Benennung ist etwas unglücklich, aber direkt von den OpenSSL-Entwicklern übernommen.

Zusammen mit dem neuen Indy Source, den SSL DLLs und dieser Einstellungen wird der o.g. "Fehler" nicht mehr auftreten.

Gruß Assertor

easywk 13. Okt 2009 11:01

Re: Indy: SSL3_GET_RECORD:wrong version number
 
Funktioniert. Danke!

Gruß
easy

Assertor 13. Okt 2009 11:08

Re: Indy: SSL3_GET_RECORD:wrong version number
 
Hi easywk,

Zitat:

Zitat von easywk
Funktioniert. Danke!

Gerne, freut mich helfen zu können :)

Gruß,
Assertor


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