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