Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   REST Zertifikat http zu https (https://www.delphipraxis.net/206598-rest-zertifikat-http-zu-https.html)

Graw 11. Jan 2021 08:58

REST Zertifikat http zu https
 
Hallo,

ich habe einen REST Client den ich mit Hilfe des Rest-Debuggers erstellt habe.
Nun fragt ein Kunde danach, wo sein Zertifikat installieren werden muss, wenn er seinen Webservice von http auf https umstellen möchte.
Leider habe ich hier keine Erfahrung.
Kann hier jemand weiterhelfen?

Freundliche Grüße
Graw

jaenicke 11. Jan 2021 09:36

AW: REST Zertifikat http zu https
 
Solange du am Client keine Prüfung des Zertifikats durchführst (wäre sinnvoll gegen Man-In-The-Middle Angriffe), reicht es, wenn im Restclient die Property SecureProtocols das passende Protokoll enthält. Unter Windows 10 wird das dann automatisch entsprechend verwendet.
http://docwiki.embarcadero.com/Libra...ecureProtocols

Rollo62 11. Jan 2021 10:19

AW: REST Zertifikat http zu https
 
Zitat:

Zitat von jaenicke (Beitrag 1480718)
Solange du am Client keine Prüfung des Zertifikats durchführst (wäre sinnvoll gegen Man-In-The-Middle Angriffe)[/URL]

Prüfst Du denn das Zertifikat bei Dir, und ich meine mehr als das Ablaufdatum ?
Falls ja, wie und womit genau, mit IPWorks SSL ?

Das Verifizieren der SSL CA-Chain ist ja leider ein Thema wo es kaum Lösungen gibt (oder eben nur sehr Teure).
Mit OpenSSL sollte das möglich sein, aber mit Delphi-Sourcen finde ich dazu quasi nichts.
Schon gar nicht wenn es CrossPlatform laufen soll.

Graw 11. Jan 2021 11:03

AW: REST Zertifikat http zu https
 
Zitat:

Zitat von jaenicke (Beitrag 1480718)
Solange du am Client keine Prüfung des Zertifikats durchführst (wäre sinnvoll gegen Man-In-The-Middle Angriffe), reicht es, wenn im Restclient die Property SecureProtocols das passende Protokoll enthält. Unter Windows 10 wird das dann automatisch entsprechend verwendet.
http://docwiki.embarcadero.com/Libra...ecureProtocols

Muss ich also was an meiner Client Software ändern?

So:

RestClient.SecureProtocols := [THTTPSecureProtocol.TLS12, THTTPSecureProtocol.TLS11];

Graw 11. Jan 2021 12:06

AW: REST Zertifikat http zu https
 
[dcc32 Error] Main.pas(1364): E2003 Undeclared identifier: 'THTTPSecureProtocol'

Muss ich außer Rest.Client noch eine weitere Unit hinzufügen?

Rollo62 11. Jan 2021 12:13

AW: REST Zertifikat http zu https
 
Zitat:

Zitat von Graw (Beitrag 1480739)
Muss ich also was an meiner Client Software ändern?

So:

RestClient.SecureProtocols := [THTTPSecureProtocol.TLS12, THTTPSecureProtocol.TLS11];

Ja das sollte die entsprechenden Flags setzen
Zitat:

WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 The TLS 1.2 protocol can be used.
https://docs.microsoft.com/en-us/win...p/option-flags

Rollo62 11. Jan 2021 12:15

AW: REST Zertifikat http zu https
 
Zitat:

Zitat von Graw (Beitrag 1480743)
[dcc32 Error] Main.pas(1364): E2003 Undeclared identifier: 'THTTPSecureProtocol'

Muss ich außer Rest.Client noch eine weitere Unit hinzufügen?

Ich meine System.Net.HttpClient müsste rein, kann aber in deiner Version anders sein.

jaenicke 11. Jan 2021 12:31

AW: REST Zertifikat http zu https
 
Das ist in REST.HttpClient als Umleitung auf die Originaldefinition in System.Net.HttpClient definiert. Beide Units gehen also.

Um das herauszufinden, reicht aber auch ein Blick in den Quelltext... (Strg + Klick auf SecureProtocols --> Strg + Klick oder Hint auf THTTPSecureProtocols)

Graw 11. Jan 2021 12:38

AW: REST Zertifikat http zu https
 
Zitat:

Zitat von Rollo62 (Beitrag 1480745)
Zitat:

Zitat von Graw (Beitrag 1480743)
[dcc32 Error] Main.pas(1364): E2003 Undeclared identifier: 'THTTPSecureProtocol'

Muss ich außer Rest.Client noch eine weitere Unit hinzufügen?

Ich meine System.Net.HttpClient müsste rein, kann aber in deiner Version anders sein.

Vielen Dank, System.Net.HttpClient in den uses funktioniert.

Eine Grundsätzliche Frage habe ich noch.
Wie sollte ich darauf kommen ohne deine Antwort? :gruebel:

jaenicke 11. Jan 2021 12:59

AW: REST Zertifikat http zu https
 
Zitat:

Zitat von Graw (Beitrag 1480747)
Eine Grundsätzliche Frage habe ich noch.
Wie sollte ich darauf kommen ohne deine Antwort? :gruebel:

Das hatte ich eben schon beantwortet:
Zitat:

Zitat von jaenicke (Beitrag 1480746)
Um das herauszufinden, reicht aber auch ein Blick in den Quelltext... (Strg + Klick auf SecureProtocols --> Strg + Klick oder Hint auf THTTPSecureProtocols)

Du musst immer schauen, dass du über bekannte Elemente (hier die property SecureProtocols) an die Stelle von deren Definition kommt. Denn dort wird ja der Typ verwendet, den du suchst. Daher siehst du dann im Hint oder eben über Strg + Klick wo der Typ definiert ist.

Und wenn du es nicht findest, kannst du auch im Internet suchen mit docwiki als ersten Begriff:
Bei Google suchendocwiki THTTPSecureProtocols
Dann findest du meistens die Dokumentation und damit die Unit.

Oder du durchsuchst einfach das komplette source Verzeichnis deiner Delphiinstallation in allen *.pas Dateien. Dann findest du es auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.
Seite 1 von 2  1 2   

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