|
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С засунуть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |