Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTTPS-Server mit Indy und Delphi XE2 (https://www.delphipraxis.net/174829-https-server-mit-indy-und-delphi-xe2.html)

jacyju 12. Mai 2013 20:34

HTTPS-Server mit Indy und Delphi XE2
 
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

Sir Rufo 13. Mai 2013 06:42

AW: HTTPS-Server mit Indy und Delphi XE2
 
Welches Zertifikat soll denn dein HTTP Server benutzen?

Beispiele findest du mit Bei Google suchenidHTTPServer SSL example

jacyju 13. Mai 2013 13:48

AW: HTTPS-Server mit Indy und Delphi XE2
 
Zitat:

Zitat von Sir Rufo (Beitrag 1215163)
Welches Zertifikat soll denn dein HTTP Server benutzen?

Beispiele findest du mit Bei Google suchenidHTTPServer SSL example

Ich hatte mich zum Testen eigentlich ziemlich stark an dieser Anleitung orientiert: http://www.softwareschule.ch/downloa...phi_report.pdf. Da war ein Beispiel-Zertifikat als *.pem Datei dabei und ich hab das Zertifikat zum Testen einfach übernommen. Ich dachte dem Fehler zufolge auch nicht, dass es am Zertifikat liegt.

Jetzt hab ich mir mal mit SSLBuddy ein eigenes erstellt und in CertFile und KeyFile übernommen. Und siehe da: kein Fehler mehr, die Seite lässt sich endlich aufrufen!! :-D

Vielen Dank für deine Hilfe :thumb:, darauf wär ich wirklich so nicht gekommen :)
LG Jacyju

Codehunter 13. Mai 2013 15:03

AW: HTTPS-Server mit Indy und Delphi XE2
 
Wenn sich Zertifikate so einfach als Datei von einem Server zum anderen schubsen ließen, wären sie ja auch nutzlos, oder? ;-)

jacyju 13. Mai 2013 17:11

AW: HTTPS-Server mit Indy und Delphi XE2
 
Zitat:

Zitat von Codehunter (Beitrag 1215195)
Wenn sich Zertifikate so einfach als Datei von einem Server zum anderen schubsen ließen, wären sie ja auch nutzlos, oder? ;-)

Stimmt, auf nem öffentlichen Server schon, aber ich dachte in einem Beispiel-Programm ist das Zertifikat auch auf nem anderen PC verwendbar :wink:


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