2017-12-27 19 views
2

Ich versuche, TLS 1.2 auf Windows XP POSReady nach der Installation der Microsoft freigegeben KB4019276 - https://support.microsoft.com/en-us/help/4019276/update-to-add-support-for-tls-1-1-and-tls-1-2-in-windows) und aktiviert es in der Registrierung.XP POSReady und TLS 1.2

Mein sehr einfacher Code zu testen ist:

Option Explicit 

Const WinHttpRequestOption_SecureProtocols = 9 
Const SecureProtocol_SSL2 = 8, SecureProtocol_SSL3 = 32, _ 
     SecureProtocol_TLS1 = 128, SecureProtocol_TLS1_1 = 512, _ 
     SecureProtocol_TLS1_2 = 2048 

Dim objHTTP 
Set objHTTP = CreateObject("WinHttp.WinHttprequest.5.1") 
objHTTP.open "GET", "https://www.howsmyssl.com/a/check", False 
objHTTP.Option(WinHttpRequestOption_SecureProtocols) = SecureProtocol_TLS1_2 
objHTTP.Send 
If objHTTP.WaitForResponse(30) Then 'wait up to 30 seconds 
    WScript.Echo "Status : " & objHTTP.Status & "<br />" 
    WScript.Echo "Response Length : " & LenB(objHTTP.ResponseBody) 
    WScript.Echo "Response Text : " & objHTTP.ResponseText 
Else 
    WScript.Write "Request timed out" 
End If 
Set objHTTP = Nothing 

aber etwas über TLS 1.0 ist mir die Fehlermeldung geben:

Invalid argument for Option 

während SSL deaktivieren 2.0, SSL 3.0 und TLS 1.0 I Ich bekomme einen Fehler, weil ich kein Sicherheitsprotokoll aushandeln kann.

irgendein Rat?

Vielen Dank.

Antwort

-1

IF haben eigentlich das gleiche Problem auf meiner experimental Winxp sp3 (alle weiteren Updates enthalten). Ich fand heraus, dass WINHTTP.DLL immer noch nicht die API Call-Funktion SECUREPROTOCOL_TLS1_1 sowie SECUREPROTOCOL_TLS1_2 enthält. Den Fehler "ungültige Option" verursachen.

Also, diese Syntax wird nicht auf Standard-XP-Systemen unterstützt!
(winhttp.dll wird nicht aktualisiert). ONly embeddedXP hat möglicherweise eine aktualisierte winhttp.dll-Datei erhalten, die diese Option akzeptiert.

Ich mache jetzt Anstrengungen, irgendwie die aktualisierte ominöse winhttp.dll zu erhalten.

Ergebnisse werden hier gemeldet.

+0

Ein ähnliches Problem gab es für den Server 2008 und alten Windows 7 zuvor. Schau einfach hier: https://social.msdn.microsoft.com/Forums/windowsserver/en-US/97e37a88-f7f8-424a-b8bd-e089f1bbea84/upgrade-winhttpdll-version-to-support-tls-11-and- tls-12-windows-2008-r2-und-windows-7? forum = winserver2008appkompatibilitätundzertifizierung. Dieses Problem scheint nun in analoger Weise für Windows XP zu gelten (vielleicht wie erwähnt EmbeddedXP 2009 und POSReady haben eine verbesserte winhttp.dll bekommen, um diese Funktion zu unterstützen, aber regelmäßige XP offensichtlich nicht) –

+0

Es gibt keine solche aktualisierte DLL für XP jedoch. Stattdessen gibt es eine zusätzliche Einstellung in der Registry, um das zu erleichtern. Siehe unter KB3140245. https://support.microsoft.com/en-in-help/3140245 Ich habe auch gefunden, dass in der aktualisierten SCHANNEL.DLL in XP Verweise auf eine neue Zeile von Registrierungseinträgen in den \ Cryptography-Zweigen vorgenommen werden, da es verweist zu diesen (sehr analog zu denen in Windows 7). –

+0

habe ich schon beides ohne Erfolg versucht. Es scheint, dass die Unterstützung in XP PosReady nicht abgeschlossen ist. – Bandimon