Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTTPS-Server in eigener Anwendung (https://www.delphipraxis.net/192813-https-server-eigener-anwendung.html)

Hobbycoder 22. Mai 2017 10:33

AW: HTTPS-Server in eigener Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke, das werde ich mal ausprobieren.

Leider hakt es noch an anderen Stellen. Ich bekomme auch oft die Meldung "EIdOSSLUnderlyingCryptoError", wenn ich auf einen Linke klicke, der auch auf meinem int. HTTP-Server zeigt. Dann springt er mich noch nicht mal mehr in die OnCommandGet-Routine. Erklären kann ich es mir zur Zeit noch nicht.
Leider finde ich auch nicht wirklich mal richtig schöne Demos bzw. Tutorials zu Indy-SSL-HTTP-Server.

mjustin 22. Mai 2017 11:20

AW: HTTPS-Server in eigener Anwendung
 
Zitat:

Zitat von Hobbycoder (Beitrag 1372307)
Ich bekomme auch oft die Meldung "EIdOSSLUnderlyingCryptoError", wenn ich auf einen Linke klicke, der auch auf meinem int. HTTP-Server zeigt. ... Leider finde ich auch nicht wirklich mal richtig schöne Demos bzw. Tutorials zu Indy-SSL-HTTP-Server.

Indy ist die aktuelle Version mit den neuesten OpenSSL DLLs? (z.B. von https://indy.fulgan.com/)? Sind andere (veraltete) OpenSSL DLLs im "Suchpfad"?

Schöne Demos und Tutorials müssten geschrieben werden ;)

Hobbycoder 22. Mai 2017 11:41

AW: HTTPS-Server in eigener Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 4)
ja, alles vorhanden.

Ich denke ich habe den Fehler EIdHTTPProtokolException auch gefunden. Ich hatte teilweise noch in der zurück gelieferten Webseite noch Hard-Coded-Links "http://xxx.xxx.xxx.xxx/..." drin stehen. Hab das jetzt mal gegen relative Links getauscht, dann tritt der Fehler so jedenfalls nicht mehr auf.

Ich hab auch mal das ganze mit der Seite www.ssllabs.com getestet. Aus allem was das steht werde ich nicht schlau ;-) ist ja ne ganze Menge.
Und das das Zertifikat grundsätzlich ungültig wäre, hat er auch nicht gesagt. Allerdings meckert er den "common Name" als Mismatch an. Da habe ich einfach mal meinen Realnamen verwendet. Auch bei trusted steht "Not Trusted" was aber klar ist.

Ich hänge mal Bilder von dem Bericht an. Falls jemand draufschauen mag.

Wenn's mal richtig läuft, mach ich daraus vielleicht ein Tutorial (zumindest aber stell ich mal den Source hier irgend ein, damit sich andere daraus was abschauen können).

mjustin 22. Mai 2017 11:49

AW: HTTPS-Server in eigener Anwendung
 
Ja, den Poodle (SSLv3 Support) sollte man abschalten ;) Bei Indy ist dazu SSLOptions.Method:=sslvSSLv23; auszutauschen gegen etwas anderes (TLS1.2 ist der aktuellste Level).

Hobbycoder 22. Mai 2017 11:56

AW: HTTPS-Server in eigener Anwendung
 
Zitat:

Zitat von mjustin (Beitrag 1372325)
Ja, den Poodle (SSLv3 Support) sollte man abschalten ;) Bei Indy ist dazu SSLOptions.Method:=sslvSSLv23; auszutauschen gegen etwas anderes (TLS1.2 ist der aktuellste Level).

Interessant ;-) Wär ich so nicht drauf gekommen. Danke.

mjustin 22. Mai 2017 12:05

AW: HTTPS-Server in eigener Anwendung
 
Noch ein Tip (von http://stackoverflow.com/a/39499131/6517492):
Den Suchpfad für die OpenSSL DLL kann man in Indy genau angeben:
Delphi-Quellcode:
IdOpenSSLSetLibPath(ExtractFilePath(ParamStr(0)));
Ich habe es selbst nicht getestet, eventuell könnte man so auch verhindern, dass andere DLLs als die gewünscht geladen werden.

Hobbycoder 22. Mai 2017 12:20

AW: HTTPS-Server in eigener Anwendung
 
Das ist auf jeden Fall auch nicht uninteressant ;-)

BrightAngel 22. Mai 2017 12:29

AW: HTTPS-Server in eigener Anwendung
 
Hey :)

Stichwort letsencrypt.org: Die signieren kostenfrei und die CA ist in den großen Browsern deployed. Voraussetzungen: ein DNS Eintrag auf deine IP mit dem Namen der im Common Name deines Certs steht und ein Service, der auf den .well-known Pfad hört und eben generell das Erneuern der kurzlebigen (glaube 90 Tage) Zertifikate automatisch reagiert.

Da du dem Benutzer vermutlich die Certs ohnehin in ein Verzeichnis legen dürftest, kannst du es auch einfach dem Benutzer überlassen, wie er an ein signiertes Cert kommt. Deployed zum Browser muss immer die komplette Zertifikatskette werden.

Brighty

Hobbycoder 22. Mai 2017 12:42

AW: HTTPS-Server in eigener Anwendung
 
Zitat:

Zitat von BrightAngel (Beitrag 1372333)
Da du dem Benutzer vermutlich die Certs ohnehin in ein Verzeichnis legen dürftest, kannst du es auch einfach dem Benutzer überlassen, wie er an ein signiertes Cert kommt.

So war der Plan :-D Funktioniert das auch mit Dyndns-Domain's (o.ä.)?

BrightAngel 22. Mai 2017 12:54

AW: HTTPS-Server in eigener Anwendung
 
Afaik ist das so, dass bei dem Zertifizierungsprozess ein Serverprogramm let's encrypt bittet zu signieren. Damit die wissen, dass sie der Bitte nachkommen dürfen fragen die entweder per DNS oder per http url ein security token (weiß nicht was genau das ist; vmtl ne signatur) ab, das auch bei der Zertifizierungsbitte mitgeteilt wurde. Ist das Zertifikat signiert landet es in der Antwort von Let's encrypt. Dann hat man ganz normal ein signiertes Cert auf Platte. Welche IP das dann benutzt ist vmtl egal, also sollte es mit dyndns gehen. Der common Name muss übereinstimmen. Seitenbemerkung: Let's encrypt kann keine Wildcards.

Brighty


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Seite 2 von 4     12 34      

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