AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Indy OpenSSL Sicherheitsupdates

Ein Thema von Assertor · begonnen am 3. Jun 2008 · letzter Beitrag vom 19. Dez 2021
Antwort Antwort
Seite 10 von 11   « Erste     8910 11   
mezen

Registriert seit: 13. Jul 2011
Ort: Lippstadt
30 Beiträge
 
Delphi 10.1 Berlin Professional
 
#91

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 07:09
@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.
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
859 Beiträge
 
Delphi 10.4 Sydney
 
#92

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 07:09
Und falls es nicht unbedingt Indy sein muss: bei der Implementierung mit TNetHTTPClient (und TNetHTTPRequest) wird automatisch https über die vorhandenen OS-Komponenten gelöst. Das ist deutlich zukunftssicherer, geht aber nicht für alle Anwendungsfälle.
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#93

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 07:17
Moin,

ich muss nochmal stören. Die DLLs aus dem 1.0.2u-Paket haben schon ein wenig gefruchtet. Allerdings bekomme ich nun die Meldung, dass ich meine Anfrage mit der falschen Protokollversion sende.

Die Meldung lautet:

Fehler beim Verbinden mit SSL.
error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert
protocol version.

Laut Dienstanbieter sollen die Anfragen mit TLS 1.2 erfolgen sollen. Hat jemand sich damit schon auseinandergesetzt?

Danke
Ingo
  Mit Zitat antworten Zitat
mezen

Registriert seit: 13. Jul 2011
Ort: Lippstadt
30 Beiträge
 
Delphi 10.1 Berlin Professional
 
#94

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 08:40
TIdHTTP erstellt sich einen eigenen TIdSSLIOHandlerSocketOpenSSL, sofern man nicht selber einen IOHandler zuweist. Dieser selbsterstellte hat aber nur die Default Eigenschaften was TLS 1.0 entspricht.
Erzeuge einen eigenen TIdSSLIOHandlerSocketOpenSSL und setze dort SSLOptions.SSLVersions := [sslvTLSv1_2] (SSLOptions.Method ist deprecated und Überbleibsel aus Indy 9)
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#95

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 09:08
TIdHTTP erstellt sich einen eigenen TIdSSLIOHandlerSocketOpenSSL, sofern man nicht selber einen IOHandler zuweist. Dieser selbsterstellte hat aber nur die Default Eigenschaften was TLS 1.0 entspricht.
Erzeuge einen eigenen TIdSSLIOHandlerSocketOpenSSL und setze dort SSLOptions.SSLVersions := [sslvTLSv1_2] (SSLOptions.Method ist deprecated und Überbleibsel aus Indy 9)
Hallo mezen,

vielen Dank. Das hat mir weitergeholfen. Parallel dazu habe ich in einem anderen Forum eine Quellcode gefunden, der die Erstellung eines IOHandlers beschreibt.

Die Abfrage funktioniert jetzt bestens, aber wie soll es auch anders sein - es baut sich das nächste Hindernis auf, das Parsen des XML-Rückgabewerts. Es ist faszinierend, wie man sich in dem Thread "XML parsen, aber wie" über das Für und Wider eines XML-Parsers streitet, doch letztlich hat man auf der 3. Seite wieder einen Cliffhanger.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#96

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 09:36
@mezen: So wie ich die Kommentare bei Github verstanden habe ist das aktuell größte Problem, dass es Remy den Rechner zerledert hat. Deshalb stagniert da alles. Das offenbart wieder einmal das Problem kleiner Open-Source-Projekte: Es gibt nur wenige (einen?) Maintainer. Fällt da jemand aus, kann alles über die Wupper gehen. Mir sind die Indy-Eingeweide allerdings zu kompliziert, als dass ich mich da einbringen könnte. Mir hats schon gereicht damals den Byteshift-Bug zu finden

@ioster: Nein, du willst dir nicht THttpClient als Alternative anschauen Ich habs versucht, wirklich viel Zeit in eine Portierung weg von Indy gesteckt und am Ende nur Ärger gehabt. Womit? TLS natürlich! Warum? Microsoft hatte mal wieder buggy Updates rausgegeben, die defekte Stromchiffren enthielten. Und schon glühte bei uns die Hotline weil die Kunden nicht mehr auf ihre Cloudserver kamen. Dann doch lieber Indy mit veraltetem aber funktionierendem OpenSSL.

Bei den XML-Parsern ist das ganz einfach: Es gibt so viele verschiedene, weil sie alle unterschiedliche Anforderungen erfüllen. Es gibt "fette" Parser mit unheimlichen vielen Features, die aber langsam sind. Und es gibt "schlanke" schnelle Parser, wo man aber viel Aufwand hat, Daten auszulesen. Kommt also darauf an, wie groß deine XML-Dokumente sind. Bei kleiner 1 MB kannst du nehmen was du willst. Darüber sollte man ausgiebig testen welcher Parser geeignet ist. Denn da gibts kein Patentrezept.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#97

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 09:49
@mezen: So wie ich die Kommentare bei Github verstanden habe ist das aktuell größte Problem, dass es Remy den Rechner zerledert hat. Deshalb stagniert da alles. Das offenbart wieder einmal das Problem kleiner Open-Source-Projekte: Es gibt nur wenige (einen?) Maintainer. Fällt da jemand aus, kann alles über die Wupper gehen. Mir sind die Indy-Eingeweide allerdings zu kompliziert, als dass ich mich da einbringen könnte. Mir hats schon gereicht damals den Byteshift-Bug zu finden

@ioster: Nein, du willst dir nicht THttpClient als Alternative anschauen Ich habs versucht, wirklich viel Zeit in eine Portierung weg von Indy gesteckt und am Ende nur Ärger gehabt. Womit? TLS natürlich! Warum? Microsoft hatte mal wieder buggy Updates rausgegeben, die defekte Stromchiffren enthielten. Und schon glühte bei uns die Hotline weil die Kunden nicht mehr auf ihre Cloudserver kamen. Dann doch lieber Indy mit veraltetem aber funktionierendem OpenSSL.

Bei den XML-Parsern ist das ganz einfach: Es gibt so viele verschiedene, weil sie alle unterschiedliche Anforderungen erfüllen. Es gibt "fette" Parser mit unheimlichen vielen Features, die aber langsam sind. Und es gibt "schlanke" schnelle Parser, wo man aber viel Aufwand hat, Daten auszulesen. Kommt also darauf an, wie groß deine XML-Dokumente sind. Bei kleiner 1 MB kannst du nehmen was du willst. Darüber sollte man ausgiebig testen welcher Parser geeignet ist. Denn da gibts kein Patentrezept.
Moin Codehunter,

ich möchte eigentlich so gut und schnell wie möglich zum Ziel kommen und stoße selbst mit zusätzlich erworbenen VCL-Komponenten leider immer wieder an (meine?) Grenzen, weil die Dokumentationen dürftig sind und Support nur bedingt geleistet wird. Es gibt solche und solche Anbieter. Ich möchte mich auf die Entwicklung einer Anwendung konzentrieren können und mich nicht unbedingt in tiefschürfende Dokumente über XML oder Ähnliches einlesen müssen.

Indy ist im Augenblick für HTTP erste Wahl, weil es zum Delphi-Paket gehört und weit verbreitet ist. Für den Mailversand habe ich mir schon EasyMAPI gegönnt, da die Komponenten eher die Kundenanforderungen erfüllten.

Jetzt steht für mich eben XML parsen auf der ToDo-Liste, wobei ich genau dieselbe Quelle des Bundeszentralamtes für Steuern anzapfen möchte, die im benannten Thread untersucht wird. Hier vielleicht offTopic, aber über mit welcher Methode komme ich an einen bestimmten Parameter in einem solchen XML-Dokument? Ich möchte eben nicht über String-Funktionen wie Pos oder PosEx nach den Schlüsselbegriffen suchen müssen, wenn ich schon ein XMLDocument vor mir habe.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#98

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 09:56
Jetzt steht für mich eben XML parsen auf der ToDo-Liste, wobei ich genau dieselbe Quelle des Bundeszentralamtes für Steuern anzapfen möchte, die im benannten Thread untersucht wird. Hier vielleicht offTopic, aber über mit welcher Methode komme ich an einen bestimmten Parameter in einem solchen XML-Dokument? Ich möchte eben nicht über String-Funktionen wie Pos oder PosEx nach den Schlüsselbegriffen suchen müssen, wenn ich schon ein XMLDocument vor mir habe.
Dafür solltest du einen extra Thread aufmachen. Oder dir ggf. mal vom Gockel bzw. der DP-Suche was über IXMLDocument und XPath erzählen lassen. Für einfache XML-Dokumente ist das der schnellste Weg. Ich habe mir vor einiger Zeit einen Klassenaufsatz für TXmlDocument geschrieben, mit dem ich per XPath auch Attribute und Namespaces verarbeiten kann. Aber das würde hier zu weit führen.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#99

AW: Indy OpenSSL Sicherheitsupdates

  Alt 22. Jun 2021, 17:29
Jetzt steht für mich eben XML parsen auf der ToDo-Liste, wobei ich genau dieselbe Quelle des Bundeszentralamtes für Steuern anzapfen möchte, die im benannten Thread untersucht wird. Hier vielleicht offTopic, aber über mit welcher Methode komme ich an einen bestimmten Parameter in einem solchen XML-Dokument? Ich möchte eben nicht über String-Funktionen wie Pos oder PosEx nach den Schlüsselbegriffen suchen müssen, wenn ich schon ein XMLDocument vor mir habe.

Viele Grüße
Ingo
Hast du schon versucht, dir über Delphi eine Klasse zusammenbauen zu lassen? Du musst nur eine gültige XML Datei haben und da baut dir Delphi das Gerüst rundherum.
Aber vielleicht kennst du das ja alles schon.
Ich habe das für verschiedene Projekte schon genutzt.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#100

AW: Indy OpenSSL Sicherheitsupdates

  Alt 23. Jun 2021, 08:32
Hast du schon versucht, dir über Delphi eine Klasse zusammenbauen zu lassen? Du musst nur eine gültige XML Datei haben und da baut dir Delphi das Gerüst rundherum.
Aber vielleicht kennst du das ja alles schon.
Ich habe das für verschiedene Projekte schon genutzt.
Die Möglichkeit ist erst seit gestern bekannt:
https://www.delphipraxis.net/192207-...ber-wie-4.html
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 10 von 11   « Erste     8910 11   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 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