Веб-сервер, https. Как указать необходимый сертификат? #639937


#0 by be-may
Есть веб-сервис. Обращаюсь к нему через защищенное соединение, использую сертификат с закрытым ключем. Мне нужно послать xml запрос серверу  (методом POST) и в ответ получить xml ответ. ------ Сейчас все работает через   xl = Новый COMОбъект("Microsoft.XMLHTTP"); но, проблема в том, что  каждый раз при запуске браузера появляется окно с выбором сертификата, и требуется участие пользователя.. Хотелось от этого уйти. Как бы так указать, что использовать необходимо  конкретный сертификат? ----- пробую сделать через и все вроде бы прокатывает, но дойдя до отправки xml я не получаю ничего в ответ.. Итак, как указать конкретный сертификат для перемнной xl ?
#1 by oleg_km
У меня именно так и работало. Там где устанавливается использование SSL включено?
#2 by be-may
Олег (? правильно же имя пишу), вот именно вы мне и нужны. Вчера гору тем на форуме перелопатила на тему установки соединения с веб серверами и практически в каждой высказывались вы. Подозреваю, что уже не одну собаку съели на этом. Если ---- Именно так это как? Через "WinHttp.WinHttpRequest ? SSL 2.0  выключено, SSL 3.0  включено
#3 by be-may
Расскажу чуть подробней. Есть некие данные. Есть несколько сертификатов. Мне нужно часть данных отправить с одним сертификатом, часть данных с другим сертификатом.. Пробовала, кстати, через WS ссылку делать с прописыванием корневого сертификата в файл сертификатов, который лежит в BIN - в итоге не получилось у меня
#4 by SergeyKB
посмотрите здесь :
#5 by SergeyKB
#6 by SergeyKB
действовал по аналогии, всё сработало
#7 by be-may
Если использовать WinHttp.WinHttpRequest , то у меня проблема не с сертификатом, а с тем, что я не могу получить и прочитать от сервера xml
#8 by be-may
Сейчас примерно такой код. Код рабочий. В самом начале запускается браузер, выбирается сертификат Не устраивает в этом именно то, что нужно выбирать руками сертификат.  Раньше он был один - и в принципе, это не было проблемой, но теперь их стало 2 с перспективой увеличения количества сертификатов дальше. Поэтому, хочется как-то автоматизировать процесс по максимуму
#9 by be-may
далее попробовала сделать так : и далее аналогично как в Авторизация прошла успешно, но я не могу прочитать полученный сервером в ответ хмл.. некуда его принять :) И вообще пока не сформировала заголовок, сервер мне писал "Unsupported Media Type" в ответ на посланную ему хмл --- Вот если бы у  COMОбъект("Microsoft.XMLHTTP") был метод SetClientCertificate как у WinHttp.WinHttpRequest или у  WinHttp.WinHttpRequest было бы куда принимать хмл... Скажите, может есть что-то такое?
#10 by oleg_km
Не понимаю вопроса, ответ сервера находится в ResponseText, запрос отправляется парамтром в Send msdn почитайте, там достаточно разжевано
#11 by be-may
а как мне отправить хмл туда?
#12 by oleg_km
В параметре команды Send
#13 by be-may
все.... решила.. Знаешь в чем дело было ? (пишу для тех, кто будет идти по моим граблям..) ---- Я сначала создала переменную WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); затем Open , setRequestHeader и Send .   Сенд был пустой - просто для авторизации.. Если авторизация проходила (статус 200), то все ОК и дальше выполнялись новые  запросы. А в запросах было снова обращение к ТОЙ ЖЕ переменной WinHttp . Я считала, что я то ее уже создала, заголовки обозначила, значит незачем новую переменную создавать.. Убрала авторизацию - и все стало хорошо. Сервер стал выдавать нужную хмл. -- Олегу отдельное человеческое спасибо )
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С