Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   TNetHTTPClient und TLS 1.2 (https://www.delphipraxis.net/209141-tnethttpclient-und-tls-1-2-a.html)

Edelfix 1. Nov 2021 13:36

TNetHTTPClient und TLS 1.2
 
Hallo,

ich brauche Hilfe mit einem Windows Server 2019 auf dem die Komponente TNetHTTPClient nicht funktionieren will.

Es wird ein GET auf eine URL aufgerufen.

Die Fehlermeldung ist: "Fehler beim Senden der Daten: (12175) Es ist ein Sicherheitsfehler aufgetreten".

Ich habe TLS 1.2 im Verdacht. Es wird TLS 1.2 benötigt.

Auf meinem PC funktioniert es ohne Probleme. Wenn ich bei mir auf den PC TLS 1.3 aktiviere dann bekomme ich die gleiche Fehlermeldung.

Bei Indy und Open SSL muss nach den dll gesehen werden. Aber was macht man bei TNetHTTPClient?

Klapauzius 1. Nov 2021 14:08

AW: TNetHTTPClient und TLS 1.2
 
Windows 10 unterstützt von Haus aus (maximal) TlS 1.2. Anders sieht es aus bei Windows Server 2012, Windows 7. Auf welchem Betriebssystem(en) kommt die Fehlermeldung?

Siehe allenfalls auch Microsoft Support

['edited]sorry, überlesen: Windows Server 2012. da gibts einen Fix siehe obigen Link

swestner 1. Nov 2021 17:28

AW: TNetHTTPClient und TLS 1.2
 
Und Windows 10 kann doch acuh schon TLS 1.3

https://answers.microsoft.com/en-us/...9-54a47b61cc77

Starsky911 1. Nov 2021 20:54

AW: TNetHTTPClient und TLS 1.2
 
Ich wollte meine altgediente Bibliothek von Indy auf NetHTTPClient umstellen
da Indy (noch) kein TLS1.3 unterstützt.
Das Projekt habe ich aber wieder eingestellt da NetHTTPClient sehr empfindlich auf
nicht passende Chiphersuiten reagiert.
Wenn z.B. ein Windows 7 Client auf einen sehr strengen Webserver stößt, kam es
bei NetHTTPClient immer wieder zu Exceptions.
Gruß, Starsky

Klapauzius 2. Nov 2021 07:58

AW: TNetHTTPClient und TLS 1.2
 
Zitat:

Zitat von Starsky911 (Beitrag 1496919)
Ich wollte meine altgediente Bibliothek von Indy auf NetHTTPClient umstellen
... da NetHTTPClient sehr empfindlich auf
nicht passende Chiphersuiten reagiert.
Wenn z.B. ein Windows 7 Client auf einen sehr strengen Webserver stößt, kam es
bei NetHTTPClient immer wieder zu Exceptions.
Gruß, Starsky

Was ja auch sinnvoll ist! Windows 7 wird nun mal nicht mehr supported, was nützt mir eine TLS 1.2 oder TLS 1.3 abgesicherte Verbindung, wenn der Rechner selbst "ungeschützt" ist.

Starsky911 2. Nov 2021 08:58

AW: TNetHTTPClient und TLS 1.2
 
Zitat:

Zitat von Klapauzius (Beitrag 1496925)
Was ja auch sinnvoll ist! Windows 7 wird nun mal nicht mehr supported, was nützt mir eine TLS 1.2 oder TLS 1.3 abgesicherte Verbindung, wenn der Rechner selbst "ungeschützt" ist.

Das sehe ich ganz genau so. Es gibt aber unter sehr vielen Kunden auch einige die das nicht so sehen!
Abgesehen davon trat das Verhalten auch bei aktuellen Win2k12 Servern auf.

Klapauzius 2. Nov 2021 09:13

AW: TNetHTTPClient und TLS 1.2
 
Zitat:

Zitat von Starsky911 (Beitrag 1496929)
Das sehe ich ganz genau so. Es gibt aber unter sehr vielen Kunden auch einige die das nicht so sehen!
Abgesehen davon trat das Verhalten auch bei aktuellen Win2k12 Servern auf.

Solche Kunden habe ich auch :cry:

Für den Win2k12 Server gibts ja einen offiziellen Patch, mit welchem man TLS 1.2 aktivieren kann (übrigens auch für Win 7). Siehe Link in meinem Ursprungspost.

Bernhard Geyer 2. Nov 2021 09:42

AW: TNetHTTPClient und TLS 1.2
 
Zitat:

Zitat von Klapauzius (Beitrag 1496925)
Zitat:

Zitat von Starsky911 (Beitrag 1496919)
Ich wollte meine altgediente Bibliothek von Indy auf NetHTTPClient umstellen
... da NetHTTPClient sehr empfindlich auf
nicht passende Chiphersuiten reagiert.
Wenn z.B. ein Windows 7 Client auf einen sehr strengen Webserver stößt, kam es
bei NetHTTPClient immer wieder zu Exceptions.
Gruß, Starsky

Was ja auch sinnvoll ist! Windows 7 wird nun mal nicht mehr supported, was nützt mir eine TLS 1.2 oder TLS 1.3 abgesicherte Verbindung, wenn der Rechner selbst "ungeschützt" ist.

Da NetHTTPClient das nimmt was am OS vorliegt, hat man damit Vorteile (Sicherheitslücken und neuen TLS-Versionen nicht mehr Veranwortlichkeit des eigenen Programmes),
aber auch Nachteile (Alte OS-Versionen).
Falls alte OS-Versionen so wichtig sind, einfach ein Bridge einbauen, welche je nach Einstellung/Umgebung die OS-Implementierung oder Indy nimmt.
Etwas mehr aufwand, aber damit hättest du die maximale Flexibilität.


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