@ioster:
TLS ist kein leichtes Protokoll und bringt einige Eigenschaften mit sich, TLS ist schwierig "mal eben" zu begreifen und entsprechend dem Verständnis sinnhaft und zielgerichtet einzusetzen.
Aktuelle Infos kurzgefasst:
- Indy nutzt OpenSSL
- Indy 9 brauchte spezielle OpenSSL Binaries, welche für Indy angepasst waren. Indy 10 braucht das nicht mehr und es reichen unveränderte aus
- Mitgeliefertes Indy kann nur maximal OpenSSL 1.0.2 (und daher TLS 1.2)
- OpenSSL 1.0.2 ist Ende 2019 aus dem Support gefallen und wird nicht mehr mit Sicherheitsupdates versorgt
- Aktuell neuste und stabile Version ist OpenSSL 1.1.1, Vorgänger war OpenSSL 1.1.0, dessen Vorgänger OpenSSL 1.0.2 war
- Nachfolger OpenSSL 3 ist aktuell frisch in der Beta, nach etwas über 1 Jahr in der Alpha
- Bisher genutzten OpenSSL Binaries wurden von https://opendec.wordpress.com/ erstellt, welcher seine Build Umgebung nicht mehr auf Versionen nach 1.0.2 umgestellt hat
- OpenSSL Version 1.1.0 hat API Änderungen gegenüber OpenSSL 1.0.2, was auch Änderungen in Indy selber benötigt
So weit, so schlecht die Infos.
Aber es gibt weiterhin Hoffnung: Es gibt bereits Anpassungen für
Indy, damit
Indy auch OpenSSL 1.1.1 nutzen kann:
https://www.delphipraxis.net/204185-...tls-1-3-a.html. Dies befindet sich noch im GitHub PR und wartet darauf, dass es nach
Indy gemergt wird. Die Änderung läuft auch stabil, ist bei unseren Kunden bereits dauerhaft aktiv und viel genutzt.
@ioster:
Du willst dir vllt als Alternative THttpClient von Emba angucken. Dies ist ein Versuch mittels System APIs, und nicht mit
Indy, HTTP nutzbar zu machen. Und das sogar plattformübergreifend (was
Indy ja auch bereits kann). Auf Windows wird dafür auf die WinAPIs für WinHTTP zurück gegriffen. Somit brauchst du keine OpenSSL DLLs, da Windows das eigene SChannel nutzt.
@Codehunter:
Danke für deinen Bump bei meinem MR. Aktuell laufen die Änderungen gut, wie ich schrieb, auch schon bei unseren Kunden im Einsatz. Ich muss nur halt warten bis Remy mit dem Review fertig ist. Da er aber nur rein den Code anguckt, und das doch ein paar viele Zeilen beinhaltet, dauert das leider. Mehr kann ich leider nicht tun.