Einzelnen Beitrag anzeigen

jacyju

Registriert seit: 14. Apr 2011
3 Beiträge
 
#1

HTTPS-Server mit Indy und Delphi XE2

  Alt 12. Mai 2013, 21:34
Hallo zusammen,

ich hänge hier schon seit einigen Tagen an einem Problem und komme einfach nicht weiter.
Und zwar möchte ich mit Delphi einen kleinen HTTPS-Server erstellen. Dazu habe ich die IdHTTPServer-Komponente verwendet und im IOHandler eine IdServerIOHandlerSSLOpenSSL-Komponente eingetragen. Folgenden Code habe ich im FormCreate Ereignis:
Delphi-Quellcode:
IdHTTPServer1.IOHandler:=IdServerIOHandlerSSLOpenSSL1;
IdServerIOHandlerSSLOpenSSL1.SSLOptions.Method:=sslvSSLv23;
IdServerIOHandlerSSLOpenSSL1.SSLOptions.Mode:=sslmServer;
IdHTTPServer1.DefaultPort:=443;
IdHTTPServer1.Active:=True;
Dann habe ich die "libeay32.dll" und "ssleay32.dll" von http://www.delphipraxis.net/1206526-post28.html ins EXE-Verzeichnis kopiert. Wenn ich das Programm starte funktioniert auch alles soweit und es gibt keine Fehler.
Wenn ich nun jedoch mit Firefox oder Chrome auf "https://localhost:443/" zugreife, schmeißt mir Delphi einen Fehler:
Zitat:
Exception der Klasse EIdOSSLUnderlyingCryptoError
Fehler beim Annehmen der Verbindung mit SSL.
error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Der Fehler kommt immer, wenn ich auf die Seite zugreife. Firefox gibt dann zurück:
Zitat:
Sichere Kommunikation mit der Gegenstelle ist nicht möglich: Keine gemeinsamen Verschlüsselungsalgorithmen.

(Fehlercode: ssl_error_no_cypher_overlap)

Meiner Meinung nach sind die Verschlüsselungsalgos doch schon in der OpenSSL DLL implementiert, oder nicht? Wenn ich in der Eigenschaft IdServerIOHandlerSSLOpenSSL1.SSLOptions.CipherList "ALL" eintrage (und damit alle Verschlüsselungen zulasse) ändert sich auch nichts.

Ich würde mich sehr über jegliche Hilfe freuen, suche nämlich schon seit einigen Tagen verzweifelt im Internet danach .
LG Jacyju
  Mit Zitat antworten Zitat