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 - они не требуются.

Другие вопросы по тегам