Не удается подключиться к серверу через HTTPS, который использует сертификат SHA2 с помощью MSXML2.Для serverxmlhttp
мы обновили наш SSL-сертификат до SHA2, но промежуточным сертификатом был SHA1. Chrome и другие браузеры решили, что вся цепочка должна быть SHA2. Наши клиенты звонили обеспокоенные желтой осторожностью в адресной строке. Ходят слухи, что через несколько месяцев Chrome и другие браузеры заменят мягко ненавязчивую осторожность экраном остановки. Мы, конечно, не хочу!
...
поэтому мы переиздали сертификат, и новый подписано промежуточным звеном SHA2. Когда мы используем этот сертификат для шифрования трафика на нашем сервере, наши приложения, использующие MSXML2.ServerXMLHTTP (работает в Windows Server 2003) для доступа к удаленным веб-службам на этом сервере больше не может подключаться.
после исследования мы применили эти два исправления, которые выглядели так, как будто они могли бы решить проблему:
https://support.microsoft.com/kb/938397/en-us https://support.microsoft.com/kb/968730/en-us
но проблема не исчезла. Переключите сертификат обратно на SHA2 с SHA1 intermediate, и у нас нет проблем.
мы установили промежуточный сертификат SHA2 в доверенном хранилище, но проблема сохраняется.
мы попытались указать все версии MSXML2.ServerXMLHTTP и все неудача.
ASP-код :
function query(xml)
dim xmlhttp, xmlDoc, url
url = application("component_url")
set xmlhttp = server.createobject("MSXML2.ServerXMLHttp")
call xmlhttp.open ("POST", url, false)
call xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
on error resume next
err.clear
call xmlhttp.send(xml)
if err.number <> 0 then
call sendAlert("An error has occurred while trying to send your request", message)
else
dim rt
rt = ConvertUtf8BytesToString(xmlhttp.responseBody)
set xmlDoc = server.createobject("MSXML2.DomDocument")
xmlDoc.loadXml(rt)
end if
on error goto 0
set query = xmlDoc
set xmlHttp = nothing
set xmlDoc = nothing
end function
1 ответов
ваша ситуация, скорее всего, такая же, как эта в должности, особенно последний ответ, как вы упоминаете, скрипт работает в течение 10+ лет.
цитируя последний ответ полностью:
Я знаю, это старый вопрос. Эта проблема может быть из-за неподдерживаемые наборы шифров. Попробуйте добавить-TLS_RSA_WITH_AES_128_CBC_SHA AES128 - SHA-TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
Это означает, что вы должны следовать этому КБ: http://support.microsoft.com/kb/948963 это обновление также интересно если вы все еще используете Windows 2003. Что позволит подключиться к сайт с использованием SHA2 -http://support.microsoft.com/kb/968730
обратите внимание, что поддержка Windows Server 2003 заканчивается 14 июля 2015
Если код работает на Windows Server 2003, я предлагаю вам попробовать его на более новой машине, возможно, ноутбук с Windows 7 для быстрого тестирования.