Thema Datum  Von Nutzer Rating
Antwort
Rot httprequest mit TLS 1.2 unter Win7
05.11.2021 18:06:24 Frank
NotSolved
09.11.2021 20:23:42 Gast33586
Solved

Ansicht des Beitrags:
Von:
Frank
Datum:
05.11.2021 18:06:24
Views:
150
Rating: Antwort:
  Ja
Thema:
httprequest mit TLS 1.2 unter Win7

Hallo,

ich habe mir schon einen Wolf gesucht und komme einfach nicht weiter...

Also, wir hatten bis zum Frühjahr über unsere Access-Datenbank an ein Endgerät Aufträge verschickt und Statusmeldungen / Nachrichten zurück bekommen.

Jetzt waren die Geräte einige Zeit nicht im Einsatz. Jetzt klappt unser VBA-Modul jedoch nicht mehr.

Sehr wahrscheinlich liegt es daran, dass die Gegenseite auf TLS 1.2 umgestellt hat.

Jetzt versuche ich hier das einzubinden, die Datenbank läuft jedoch auf einem recht alten Rechner (Win7 Ultimate SP1 und Access 2002, bzw. runtime 2007).

Vorausschickend sei angemerkt, dass ich (natürlich) in den Internetoptionen (erweitert) TLS 1.2 aktiviert habe.

Auch habe ich den Hinweis von Microsoft dazu (https://support.microsoft.com/de-de/topic/update-zum-aktivieren-von-tls-1-1-und-tls-1-2-als-sichere-standardprotokolle-in-winhttp-in-windows-c4bd73d2-31d7-761e-0178-11268bb10392) umgesetzt.

Beides bringt jedoch absolut nichts!

Ich erhalte bei "send" immer die Fehlermeldung "Im Support des sicheren Channels ist ein Fehler aufgetreten".

Habe da auch schon verschiedene "Tips" hierzu versucht umzusetzen. Der Code sieht aktuell so aus:

        Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0
   
        Dim HttpReq As WinHTTP.WinHttpRequest

        Set HttpReq = New WinHttpRequest
        ' Timeouts setzen.
        HttpReq.setTimeouts 60000, 60000, 60000, 60000
        reportURL = rst("Server")
        Anmeldung = "?account=" & rst("Benutzername") & "&username=" & rst("DeviceID") & _
                                "&password=" & rst("Passwort") & "&objectno=" & rst("Kennung") & apikey
        Aktion = "&lang=de&useISO8601=true&action=showObjectReportExtern"
        ' HTTP Verbindung öffnen
        HttpReq.Open "GET", reportURL & Anmeldung & Aktion, False
        HttpReq.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
        HttpReq.SetCredentials rst("Benutzername"), rst("Passwort"), HTTPREQUEST_SETCREDENTIALS_FOR_SERVER
        HttpReq.Option(WinHttpRequestOption_SecureProtocols) = 2048        ' 2048 für HEX 000800 = TLS 1.2;
                            ' liefert: Fehlernummer 5 ("Ungültiger Prozeduraufruf oder ungültiges Argument")
        HttpReq.Option(9) = 2048                                                                  ' 2048 für HEX 000800 = TLS 1.2;
                            ' liefert: Fehlernummer 5 ("Ungültiger Prozeduraufruf oder ungültiges Argument")
        HttpReq.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = _
                                WinHTTP.WinHttpRequestSslErrorFlags.SslErrorFlag_Ignore_All  'Ignore SSL errors, hat keinerlei Effekt
        'In UTF-8 kodieren
        HttpReq.Option(WinHttpRequestOption_URLCodePage) = "UTF-8"
        HttpReq.SetRequestHeader "Content-Type", "text/xml; charset=UTF-8"
        ' HTTP-Request absenden.
        HttpReq.Send
                           ' liefert: Fehlernummer -2147012739 ("Im Support des sicheren Channels ist ein Fehler aufgetreten")
        ' Auf die Serverantwort warten.
        HttpReq.waitForResponse
        ' Ergebnis zurück geben
        RequestAntwort = HttpReq.responseText
    ...
Habe auch in der Registry bereits manuell
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp den Schlüssel DefaultSecureProtocols auf 0x00000800 gesetzt...
 
Den Requeststring im Browser eingegeben funktioniert.
Der Rechner "kann" also TLS 1.2 doch...
 
Hat da irgendjemand eine Idee zu?!
Danke für die Hilfe
Frank

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot httprequest mit TLS 1.2 unter Win7
05.11.2021 18:06:24 Frank
NotSolved
09.11.2021 20:23:42 Gast33586
Solved