Entwickler-Ecke
Internet / Netzwerk - Indy10 + https + Dateidownloads mit IE
Sillicoid - Mo 17.01.11 22:48
Titel: Indy10 + https + Dateidownloads mit IE
Hallo,
auf der Arbeit sind wir heute auf ein ziemlich komisches Problem gestoßen, aber vorher die Fakten:
- Indy10 neueste Version
- SSL und richtige Keys/Zertifikate installiert (zumindest meckert der IE nicht was er bei falschem Zertifikat macht)
- Embacadero Delphi2010
- Serverapplication die u.a. Dateien über DataStreams zurückliefert.
Situation:
Also, die Anwendung läuft soweit problemlos und die verschiedenen Webseiten die der Server liefert können auch über https/ssl aufgerufen werden. Nun soll über den Server eine Datei geliefert werden. Dies klappt mit jedem Browser problemlos, bis man auf die Idee kommt es mit dem InternetExplorer zu versuchen. Dann verabschiedet sich der Server (bzw. zumindest der aktuelle Thread) mit einem TimeoutFehler (10060) und zwar genau ab dem Moment wo der IE-Speicherdialog ("Was möchten sie mit der Datei machen -> öffnen/speichern....") erscheint. Im Endeffekt liefert der Server dann scheinbar genau die ersten 64kb des Datenstroms und danach bricht die Verbindung ab. Interessanter Effekt: Geht man den kompletten Ablauf im Debugger durch, sprich bis in die WriteData Methoden von Indy, macht zum gg Zeitpunkt die Einstellungen im Speicherdialog und lässt dann das Programm laufen funktioniert ebenfalls alles prima.
Von meinem bisherigen Verständnis muss der Fehler irgendwo im Zusammenspiel Https+Headerinformationen+IE-Dialog und evt. doch Zertifikat liegen, aber ich und auch meine Kollegen waren heute mit unserem Latein am Ende.
Was weiterhin seltsam ist, trotz scheinbar aktzeptiertem Zertifikat wirft der Server beim Login (Der Server erwartet einen Login beim ersten Seitenaufruf) einige "SSL-Verbindungs"-Exceptions (irgendwas mit unerwartetem EOF, hab den Wortlaut gerade nicht hier). Nichtsdestotrotz scheint die Verbindung dann aber doch hergestellt zu werden, denn solang man nicht versucht eine Datei anzufordern kann man sich problemlos auf dem Webserver bewegen.
Vielleicht hat ja jemand schon eine gute Idee, ansonsten kann ich bei Interesse morgen auch Quellcode posten bzw. weitere Informationen die ich jetzt hier Zuhause nicht habe nachliefern.
Ansonsten würde ich mich schon über ein simples Beispiel freuen wie ein funktionierender https Dateidownload mithilfe von Delphi+Indy10 auszusehen hat. Ich habe heute ein wenig gesucht aber kein simples und sinnvolles Beispiel gefunden.
Danke im Vorraus
Sillicoid
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!