Имя: Пароль:
1C
 
1С+HTTPS+SSL+Цифровой сертификат X.503 v3
0 kotstuk
 
25.04.11
10:01
Здравствуйте!!!
Мне нужно наладить обмен данными с системой Rapida.
Взаимодействие Участника Системы и ПС «Рапида»: осуществляется с
использованием протокола безопасной передачи данных HTTPS (HTTP over SSL), при этом
аутентификация/авторизация Участника Системы происходит путем предъявления
цифрового сертификата формата X.509 v3.
Я пытаюсь сделать так:
Попытка
оХттп = СоздатьОбъект("Msxml2.ServerXMLHTTP");
Исключение
Предупреждение("Не установлена компонента ServerXMLHTTP
   |Установите компоненту или отключите в параметрах учета
   |активацию платежей через https");
   СтатусВозврата(0);
   Возврат;
КонецПопытки;

PaymentHost = "https://online.rapida.ru/hypertest_ver2?";
ТекВремя = Строка(ТекущееВремя());
ТекДата = Строка(ТекущаяДата());
ТекДатаФормат = Формат(ДатаМесяц(ТекДата),"Ч(0)2")+Формат(ДатаЧисло(ТекДата),"Ч(0)2")+Формат(ДатаГод(ТекДата),"Ч(0)4");
ТекВремяСтрДлина = СтрДлина(ТекВремя);
ЛевыеСимволы = Лев (ТекВремя, 2);
СредниеСимволы = Сред (ТекВремя,4,2);
ПравыеСимволы = Прав (ТекВремя,2);

idQuery = "001"+ТекДатаФормат+ЛевыеСимволы+СредниеСимволы+ПравыеСимволы;

param = "function=getbalance&PaymExtId="+idQuery;
url = PaymentHost+param;
Попытка
оХттп.open("GET",url,0);
оХттп.Send("");
стрОтвет=СокрЛП(оХттп.ResponseText);
Сообщить(стрОтвет);
Исключение
Сообщить("Ошибка: "+ОписаниеОшибки());
КонецПопытки;

Но в ответ получаю ошибку "Ошибка: msxml3.dll: A security error occurred".

Подскажите пожалуйста, что я не так делаю или есть ли какие нибудь варианты по работе 1С 7.7 с протоколом безопасной передачи данных HTTPS
1 kotstuk
 
25.04.11
10:03
Подскажите пожалуйста, что я не так делаю или есть ли какие
нибудь варианты по работе 1С 7.7 с протоколом безопасной
передачи данных HTTPS
2 Ленинград
 
25.04.11
10:07
Попробуй сертификат у себя засунуть в доверенные
3 kotstuk
 
25.04.11
10:12
С сертификатом произвёл все манипуляции какие можно, не помогает.
У меня есть подозрение что нужна DLL-ка какая-нибудь
типа V7plus.dll, только которая сможет сможет
установить соединение через SSL
4 andrewks
 
25.04.11
10:28
V7plus.dll тут при чём? ты же напрямую системные объекты юзаешь
5 andrewks
 
25.04.11
10:33
xml6 пробовал юзать?
6 kotstuk
 
25.04.11
11:33
Пробовал xml6, xml3, xml4. Таже ошибка
7 DrZombi
 
гуру
25.04.11
11:37
(6)Ты их установи и ребутни ПК :)
8 andrewks
 
25.04.11
13:22
(6) как пробовал? в курсе, что у объектов есть номера версий?
9 oleg_km
 
25.04.11
13:40
У меня вот так работает, может тебе проще обойти:

   ИмяСертификата = "Имя";
   АдресВебСервиса = "https://filials.payment.ru:9443/OLWSWM/services/OLWS?WSDL";
   
   обИнтернет = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
   обИнтернет.SetClientCertificate(ИмяСертификата);

// Получить настройки
   обИнтернет.Open("GET", АдресВебСервиса, Ложь);
   обИнтернет.Send();
   Сообщить(обИнтернет.ResponseText);
10 kotstuk
 
26.04.11
08:25
DrZombi
7 - 25.04.11 - 11:37 (6)Ты их установи и ребутни ПК :)

Как тогда их установить, и что значит "ребутни ПК "?
11 kotstuk
 
26.04.11
08:34
oleg_km
9 - 25.04.11 - 13:40 У меня вот так работает, может тебе проще обойти:

А будет ли это работать на 1С 77?
12 kotstuk
 
26.04.11
08:46
oleg_km
9 - 25.04.11 - 13:40 У меня вот так работает, может тебе проще обойти:

   ИмяСертификата = "Имя";
   АдресВебСервиса = "https://filials.payment.ru:9443/OLWSWM/services/OLWS?WSDL";
   
   обИнтернет = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
   обИнтернет.SetClientCertificate(ИмяСертификата);

// Получить настройки
   обИнтернет.Open("GET", АдресВебСервиса, Ложь);
   обИнтернет.Send();
   Сообщить(обИнтернет.ResponseText);

Подскажите, в каком формате должен быть сертификат (*.cer *.pem) и где он должен находиться?

А то мне вот такую ошибку выдаёт " WinHttp.WinHttpRequest:
A certificate is required to complete client
authentication"

Заранее спасибо
13 DrZombi
 
гуру
26.04.11
08:47
(10)Они все устанавливаются. Качаются с сайта мелкомягких.
Как найти, то тут тебе поможет Гугл.
Ребутни - перезагрузить ПК, после установки програмного обеспечения. (просто Ребутни быстрее :))
14 oleg_km
 
26.04.11
09:09
(12)

Сертификат нужно установить в хранилище Windows
15 kotstuk
 
27.04.11
07:15
Сертификат установлен, но всё равно возникает ошибка
"Ошибка:  A certificate is required to complete client authentication"
16 kotstuk
 
27.04.11
07:22
А кто нибудь знает, может сертификат надо в какую-нибудь папку 1С засунуть?