Классический сервер ASP / IIS6 / Win2003 не может связаться с сервером TLS

Sage Pay сегодня прекратила свое освобождение для сайтов, использующих SSL3 при общении со своими серверами оплаты / авторизации. TLSv1 теперь требуется.

У нас есть Windows Server 2003, работающий под управлением IIS6, и два сайта, написанные (к сожалению) на Classic ASP. Ящик был исправлен / ключи реестра обновлены для защиты от POODLE, и различные онлайн-проверки подтверждают это. Сервер должен использовать ТОЛЬКО TLS.

Однако при попытке авторизации транзакции Sage Pay с использованием WinHttp.WinHttpRequest.5.1 и POST попытка немедленно завершается неудачей. Единственная ошибка, возвращаемая WinHttpRequest: «-2147483638 - WinHttp.WinHttpRequest - Данные, необходимые для выполнения этой операции, пока недоступны».

Internet Explorer на том же сервере также не может получить доступ к интерфейсам администрирования Sage Pay, размещенным по тем же URL-адресам. И это несмотря на то, что SSLv2 и SSLv3 отключены в окне «Свойства обозревателя». Опять же, TLSv1 должен быть единственным, доступным для НИЧЕГО на коробке.

Неважно, какие таймауты или опции я наложил на объект WinHttp - он терпит неудачу так быстро, как будто даже не пробовал.

Я подтвердил, что данный сервер МОЖЕТ связываться с серверами Sage Pay с помощью curl. curl работает либо без указанного протокола (он использует TLS), либо путем указания вручную - и не будет, если указан SSL2 или 3 - как и ожидалось.

Если это работает, почему ничего не происходит - когда каждый бит конфигурации сервера говорит, что должен?

Вот небольшой пример кода, который возвращает приведенную выше ошибку WinHttpRequest:

<%
VSPServer = "https://test.sagepay.com/showpost/showpost.asp"

Set objHTTP = Server.CreateObject("WinHttp.WinHttprequest.5.1")
On Error Resume Next
objHTTP.Open "POST",CStr(VSPServer),False
objHTTP.Send "Hello"

If Err.Number <> 0 Then
    Response.Write "Status: " & objHTTP.Status & "<p>"
    Response.Write Err.Number & " - " & Err.Source & " - " & Err.Description
End If

On Error Goto 0
Set objHTTP = Nothing
%>

Если значение False изменено на True (для запуска этой асинхронной операции) в строке objHTTP.Open, сценарий ничего не возвращает. Этот сценарий работал до того, как Sage Pay отключил вещи сегодня днем.

Ответы на вопрос(2)

Ваш ответ на вопрос