Мы обновили наш сертификат 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, и у нас нет проблем.
Мы установили промежуточный сертификат 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