AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Datei aus dem Internet herunterladen - geht nicht mehr!

Datei aus dem Internet herunterladen - geht nicht mehr!

Ein Thema von NicoleWagner · begonnen am 8. Dez 2018 · letzter Beitrag vom 5. Jan 2019
Antwort Antwort
Seite 8 von 9   « Erste     678 9   
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
611 Beiträge
 
Delphi 10.4 Sydney
 
#71

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 00:17
Du schreibst in #1, dass
UrlDownloadToFile(nil, PChar('https://...' ), PChar('...'), 0, nil);
nicht mehr funktioniert.

Weiter schreibst du, dass du IE aktualisiert hast auf Version 11 und dass der Download deiner Datei auch via IE11 nicht klappt. Du musst dies fixen, dann sollte auch UrlDownloadToFile wieder funktionieren. (lokale Firewall etc. prüfen)

Hast du diese Info von m$ gelesen?
https://support.microsoft.com/de-ch/...-2-0-and-tls-1


Du könntest natürlich auch irgend eine nicht geheime Datei auf deinen Server hochladen und die Adresse hier posten, damit wir testen können, ob es an deinem Webserver liegt. Ich glaube eher nicht.
Michael Gasser
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
149 Beiträge
 
Delphi XE3 Professional
 
#72

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 13:22
jetzt wird die Spur heiß.
Einiges zum Verständnis dämmert mir jetzt, doch ein Licht ist mir damit noch nicht aufgegangen.
Erstmal habe ich Infos zu den Protokollen (nein, leider, es ist nicht meine eigene Site, die hätte 24 Stunden Support):

Aktive Protokolle
TLS 1.2

Inaktive Protokolle
TLS 1.1
TLS 1.0
SSLv2
SSLv3

Spannend ist dieser Satz von Deinem MS Link, das mir zuvor entging: "Verwendung von clientseitigen Zertifikaten eine HTTPS-Verbindung über TLS 1.2 müssen Sie SSL 2.0 deaktivieren". Wo geht das bloß? Ich habe alle Karteireiter des ie durch, doch finde nichts. Wenn das standardmäßig deaktiviert ist, ist das ganz sicher eine Blockade.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.609 Beiträge
 
Delphi 5 Professional
 
#73

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 16:08
Soweit ich weiß, ist SSL 2.0 (und IIRC auch SSL 3.0) bei IE11 standardmäßig sowieso deaktiviert - ersteres steht auch so auf der von Michael II verlinkten MS-Seite.

Um aber die Frage zu beantworten: Die Einstellungen zur Verschlüsselung befinden sich in Systemsteuerung > Internetoptionen > Register Erweitert > Abschnitt Sicherheit (fast ganz unten). Ich bin mir ziemlich sicher, dass auch bei dir nur TLS 1.0, 1.1 und 1.2 aktiviert sind.

Grüße
Dalai
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.951 Beiträge
 
Delphi 7 Professional
 
#74

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 16:19
Die Fehlermeldung
Code:
error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol versio
besagt, dass es ein Problem mit SSL v3 gibt. Wir wissen aber, dass der Server "nur und ausschließlich" TLS 1.2 unterstützt.

Es muss also erstmal die Stelle gefunden werden, an der gesagt wird: "Stelle eine Verbindung zwingend mit TLS 1.2 her."

Weiter oben hatte ich einen dementsprechenden Vorschlag schonmal für die Indykomponenten gemacht.

Es gibt leider einige Server, mit denen kann man nix aushandeln, da muss man angeben, welche TLS / SSL-Variante man nutzen möchte.

Hilft für den IE eventuell eine dieser Seiten?
https://warwick.ac.uk/services/its/s...p/tls1-eol/ie/
https://www.bahn.de/micro/view/tls/tls-webbrowser.shtml
Ansonsten bitte hier schauen, ob noch wer 'nen erfolgversprechenden Hinweis / Tipp hat:
https://www.google.com/search?q=ie+tls+1.2&btnG=Suche

Den IE ggfls. so konfigurieren, dass er nur TLS 1.2 nutzt. (Das kann man ja später ggfls. wieder ändern.)

Um das Delphi-Problem kümmern wir uns erst wieder, wenn Du uns das erfolgreiche Laden der PDF-Datei via IE bestätigt hast. Vorher ist das zwecklos.

PS:

Die SSL-Komponente von Indy nutzt standardmäßig kein TLS 1.2.
Da im Constructor von THTTPFileDownload aber nur das Create der SSL-Komponente aufgerufen wird und keine weiteren Protokolleinstellungen erfolgen, wird kein TLS 1.2 genutzt, es kann also keine Einigung über das zu nutzende Protokoll zwischen Client und Server erfolgen. Der Constructor von THTTPFileDownload muss um die Zeile IOHndl.SSLOptions.SSLVersions := [sslvTLSv1_2]; ergänzt werden, dann "kann er nur" das vom Server geforderte TLS 1.2.
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
149 Beiträge
 
Delphi XE3 Professional
 
#75

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 19:51
Ich habe jetzt (danke Dalai!) TLS 1.2 als einziges aktiviert.
Und bin einen Schritt weiter und zwar sehe ich eine neue Fehlermeldung im IE, die da lautet:

Es besteht ein Problem mit dem Sicherheitszertifikat der Website.
Klicke ich auf "trotzdem öffnen", lese ich sowas wie: "das Zertifikat wurde für eine andere Website ausgestellt".
Danach schlägt sich der Browser mit der Version des pdf-Software herum, doch das wäre eine andere Baustelle. Mit 99%iger Chance könnte ich die Datei also mit "weiter" und "trotzdem öffnen" mit vielen Klicks öffnen.
Da Delphi diese Klicks nicht tut, sperrt mit hoher Wahrscheinlichkeit das Zertifikat im IExplore.

Ich habe jetzt die Domain und die IP unter "vertrauenswürdige Websites" eingetragen. Half nicht.

Auf "gesperrte Zerrifikate überprüfen" habe ich deaktiviert, ebenso wie "auf gesperrte Serverzertifikate überprüfen"
(das geht auf der VM, sie darf ohnehin nicht ins Internet, weil zu offen konfiguriert). Half nicht.

Danke für die Zeile im Code, die werde ich sicher einfügen!
Doch vorher scheint mir der ie die Sache abzuwürgen wegen des Zerfikates.
Wie kann ich ihn "beruhigen"? Ich probierte, das Zertifikat zu importieren, doch da ich das nicht wirklcih kann, denke ich, es hat eher nicht geklappt als schon.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.951 Beiträge
 
Delphi 7 Professional
 
#76

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 20:35
Habe keine Ahnung, wie Indy mit den Zertifikatsprobleme umgeht.

Alleine die Tatsache, dass Du derartige Fehlermeldungen bekommst, bedeutet aber schonmal: Der sich der IE und der Server, der die PDF zu liefern hat, unterhalten können. Die auftretenden Probleme sind wohl eher auf eine nicht wirklich optimale Konfiguration des Servers zurückzuführen.

Hier könnte jetzt aber ein Versuch mit den Indy-Komponenten eventuell erfolgreich sein.

Ein bisserl Info eventuell hier:
http://germanylandofinnovation.com/q...zertifikat-ssl
https://stackoverflow.com/questions/...ertificate-ssl
https://forums.embarcadero.com/threa...hreadID=118720

Mir scheint, dass man mit den Indys und OpenSSL die Zertifikatsprüfung ignorieren / überspringen kann, so dass dort das Zertifikatsproblem nicht auftritt. Wäre einen Versuch wert.

Was sagt Dir denn jetzt THTTPFileDownload mit der zusätzlichen Zeile IOHndl.SSLOptions.SSLVersions := [sslvTLSv1_2]; ?
Funktioniert es so eventuell schon, wenn nein, welche Fehlermeldung bekommst Du?
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
149 Beiträge
 
Delphi XE3 Professional
 
#77

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 22:41
---------------------------
Project_download_url
---------------------------
Fehler beim Verbinden mit SSL.
error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version.
---------------------------
OK
---------------------------

ein kleiner Schritt weiter, denn ich kann jetzt einmal https anzeigen.

// ShowMessage(idHTTP1.Get('https://www.delphipraxis.net/')); => das wir jetzt erstmals angezeigt!!
ShowMessage(idHTTP1.Get('https://192.124.xxxxx/....pdf')); => das erzeugt obige Fehlermeldung

Ich könnte mir vorstellen, dass irgendeine Sicherheitseinstellung des Systems das Problem ist. Der IE unter Win 7 war noch immer ganz tief im System vernetzt. Ich hatte da vor Jahren unglaubliche Probleme mit einem Programm, das der Support mit einer Konfiguration im IE gelöst hatte, die mir ganz komisch vorkam.
Dieses Zertifikat ist aus Ami-Land von Go Daddy. Es besteht auf ionos alle Prüfungen und ist von einer hochseriösen Firma aufgesetzt. Allerdings kann ich dort nicht fragen. Denn sie sind recht groß und ich bin klein. Auch will ich dort nicht sagen, dass ich die Datei, die grundsätzlich für Kundendienst / Einsicht verfügbar ist, maschinell verarbeite, auch wenn es nur für mich selbst ist.
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
520 Beiträge
 
Delphi 10.3 Rio
 
#78

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 22:55
Die Meldung muss nicht zwingend zum Fehler passen. Lass dir die Zertifikatskette anzeigen und schauen ob die Zertifikate aktuell sind. Das sorgt gerne für Verwirrung.

Kleine Anmerkung zum Download mit dem IE welche ich beim Schmökern im Netz fand. Funktion DeleteUrlCacheEntry nicht vergessen ansonsten bleibt die File im Cache und wird nicht nochmal runtergeladen.

Ansonsten viel Spaß. Verstehe einer warum man alles in eine Applikation muss einbauen. Aber gut jeder wie er will.

Ich würde mir die File so wie in dem zu Beginn geposteten Code holen.

In einer Mußestunde schaust du dir dann zumindest mal Chilikat an oder Indy in Depth.


Ich habe jetzt (danke Dalai!) TLS 1.2 als einziges aktiviert.
Und bin einen Schritt weiter und zwar sehe ich eine neue Fehlermeldung im IE, die da lautet:

Es besteht ein Problem mit dem Sicherheitszertifikat der Website.
Klicke ich auf "trotzdem öffnen", lese ich sowas wie: "das Zertifikat wurde für eine andere Website ausgestellt".
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
520 Beiträge
 
Delphi 10.3 Rio
 
#79

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 22:57
Dh. du probierst TLS 1.0

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

ein kleiner Schritt weiter, denn ich kann jetzt einmal https anzeigen.

// ShowMessage(idHTTP1.Get('https://www.delphipraxis.net/')); => das wir jetzt erstmals angezeigt!!
ShowMessage(idHTTP1.Get('https://192.124.xxxxx/....pdf')); => das erzeugt obige Fehlermeldung

Ich könnte mir vorstellen, dass irgendeine Sicherheitseinstellung des Systems das Problem ist. Der IE unter Win 7 war noch immer ganz tief im System vernetzt. Ich hatte da vor Jahren unglaubliche Probleme mit einem Programm, das der Support mit einer Konfiguration im IE gelöst hatte, die mir ganz komisch vorkam.
Dieses Zertifikat ist aus Ami-Land von Go Daddy. Es besteht auf ionos alle Prüfungen und ist von einer hochseriösen Firma aufgesetzt. Allerdings kann ich dort nicht fragen. Denn sie sind recht groß und ich bin klein. Auch will ich dort nicht sagen, dass ich die Datei, die grundsätzlich für Kundendienst / Einsicht verfügbar ist, maschinell verarbeite, auch wenn es nur für mich selbst ist.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.951 Beiträge
 
Delphi 7 Professional
 
#80

AW: Datei aus dem Internet herunterladen - geht nicht mehr!

  Alt 29. Dez 2018, 23:08
Ist das jetzt 'ne Fehlermeldung mit THTTPFileDownload?

Bitte poste den aktuellen Quelltext Deiner Routine. Es ist momentan nicht nachvollziehbar, woher der Fehler jetzt genau kommt.

Wenn Du eine Komponente TIDHttp nutzt, hast Du ihr auch 'ne TIdSSLIOHandlerSocketOpenSSL zugewiesen und dort bei SSLOptions.SSLVersion.SSLvTSL1_2 auf True gesetzt und die übrigen auf False?

Die Fehlermeldung läßt darauf schließen, dass dem nicht so ist.

Zitat von MichaelT:
Die Meldung muss nicht zwingend zum Fehler passen. Lass dir die Zertifikatskette anzeigen und schauen ob die Zertifikate aktuell sind. Das sorgt gerne für Verwirrung.

Kleine Anmerkung zum Download mit dem IE welche ich beim Schmökern im Netz fand. Funktion DeleteUrlCacheEntry nicht vergessen ansonsten bleibt die File im Cache und wird nicht nochmal runtergeladen.

Ansonsten viel Spaß. Verstehe einer warum man alles in eine Applikation muss einbauen. Aber gut jeder wie er will.

Ich würde mir die File so wie in dem zu Beginn geposteten Code holen.

In einer Mußestunde schaust du dir dann zumindest mal Chilikat an oder Indy in Depth.
Das das Zertifikat nicht in Ordnung ist, steht schon weiter oben, da hilft weiterforschen nicht wirklich. Der IE scheitertete bisher daran, dass er kein TLS 1.2 nutzte. Nachdem das umkonfiguriert wurde, scheitert er an veraltetem / fehlerhaft konfiguriertem Zertifikat.

Und das der zu Beginn gepostete Code in dieser Konstellation nicht funktioniert, da er kein TLS 1.2 nutzt, wurde auch festgestellt.

Also: Das Zertifikat auf dem Server ist so, wie es ist, nicht in Ordnung.
Der Server verlangt die Nutzung von TLS 1.2.

Es sollte also TLS 1.2 genutzt werden und ein Weg gesucht werden, dem das Zertifikat egal ist. Auch dafür wurden entsprechende Hinweise verlinkt.
  Mit Zitat antworten Zitat
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 22:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf