msxml6.dll ошибка '80072f7d' Произошла ошибка в поддержке безопасного канала
Я видел этот вопрос, но ответа пока нет. Мой сервер использует TLS 1.2, как и сервер, с которого я запрашиваю
<!--#INCLUDE virtual="/json/jsonObject.class.asp"-->
<%
Session.LCID=2057
Dim jsonString, jsonObj, outputObj
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlhttp.SetOption 2, xmlhttp.GetOption(2)
xmlhttp.open "POST", "https://xxx.domain/api/auth", 0
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send "ClientId=X&ClientSecret=Y&GrantType=Z"
jsonString = xmlhttp.responseText
response.write(jsonString)
Set xmlhttp = Nothing
set jsonObj = new JSONobject
set outputObj = jsonObj.parse(jsonString)
'response.write(outputObj("access_token"))
%>
Это дает мне
msxml6.dll error '80072f7d'
An error occurred in the secure channel support
Я видел несколько предложений по удалению сервера с ServerXMLHTTP, поэтому я сделал это и получил
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'xmlhttp.GetOption'
Я разрешаю это, а затем он говорит, что SetOption не поддерживается. Я полностью удаляю эту строку, а затем говорится, что ClientID не отправляется
Когда я пытаюсь использовать https://markohoven.com/2020/03/06/msxml2-serverxmlhttp-and-tls1-2/, я получаю
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'XMLServer.Option'
Затем я попробовал следующее
<%
Set winhttp = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1")
winhttp.open "GET", "https://howsmyssl.com/a/check", False
winhttp.Send
Response.Write winhttp.responseText
%>
Из этого следует, что я не использую TLS 1.2?
{
"given_cipher_suites": ["TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", "TLS_RSA_WITH_RC4_128_SHA", "TLS_RSA_WITH_RC4_128_MD5"],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": true,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {
"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA": ["uses 3DES which is vulnerable to the Sweet32 attack but was not configured as a fallback in the ciphersuite order"],
"TLS_RSA_WITH_3DES_EDE_CBC_SHA": ["uses 3DES which is vulnerable to the Sweet32 attack but was not configured as a fallback in the ciphersuite order"],
"TLS_RSA_WITH_RC4_128_MD5": ["uses RC4 which has insecure biases in its output"],
"TLS_RSA_WITH_RC4_128_SHA": ["uses RC4 which has insecure biases in its output"]
},
"tls_version": "TLS 1.0",
"rating": "Bad"
}
Сервер, на котором я использую Windows Server 2008. Что еще я могу сделать?
1 ответ
Вам необходимо обновить свой сервер Windows до TLS 1.2 (подойдет любая версия), выполните следующие действия:
Классический исходящий TLS-протокол ASP 1.2
Затем я рекомендую вам продолжать использовать MSXML2.ServerXMLHTTP.6.0 без setoptions и getoption - они не требуются.