2015-03-17 4 views
0

Я пытаюсь отправить платежные данные в SagePay и, поскольку они отключают SSL, его нужно отправить с использованием TLS.WinHttp TLS-соединение в классическом asp

код у меня выглядит следующим образом:

set httpRequest = Server.CreateObject("WinHttp.WinHttprequest.5.1") 
httpRequest.Open "POST", CStr(strPurchaseURL), false 
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
httpRequest.send strPost 
strResponse = httpRequest.responseText 

Я сказал, что добавление опции позволяет установить протокол, используемый, но только один я нашел:

httpRequest.option(9) = 2720 

, который позволяет использовать TLS и SSL, но это может быть только TLS, кто-нибудь знает, какой код должен быть, или есть что-то еще, что я должен делать.

+0

Также для справки есть еще один плакат с [аналогичной проблемой здесь] (http://stackoverflow.com/q/29127018/692942). – Lankymart

ответ

0

Опция 9 является WinHttpRequestOption_SecureProtocols который

SSL 2.0: 0x0008
SSL 3.0: 0x0020
Transport Layer Security (TLS) 1.0: 0x0080

Так

httpRequest.option(9) = &H80 
+0

Это, кажется, правильный код, но не уверен, что это правильное значение. Все еще получение: Прилагаемый сертификат был отозван Ошибка SagePay. – IanTrem

+0

Зайдите в [WINHTTP_OPTION_SECURE_PROTOCOLS] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384066 (v = vs.85) .aspx), который, кажется, показывает, что есть только три варианта - На самом деле это больше похоже на шесть. Никогда не было хорошего с битовыми флагами, если кто-то может тренировать то, что значения. – Lankymart

+0

Когда я пытаюсь читать или писать .Option (9), я получаю «Invalid procedure call or argument». Другие варианты (8, 10 и т. Д.) Работают хорошо. Кто-нибудь знает почему? – ulu

0

Если вы находитесь на Windows Server 2003, у вас может быть такая же проблема, с которой я столкнулся - если у вас есть доступ к серверу, попробуйте ответить на мой собственный вопрос здесь: https://stackoverflow.com/a/29140418/1081692 и посмотрите, как вы справляетесь.

+0

Мне нужно проверить с хостинговой компанией, но я думаю, что вы правы., Спасибо! – IanTrem