Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Работа со сторонними сервисами по HTTPS (SSL) с использованием клиентского сертификата

Работа со сторонними сервисами по HTTPS (SSL) с использованием клиентского сертификата
Я
   Tomynoker
 
24.03.21 - 20:46
Добрый день, коллеги.
Руководство решило интегрироваться с банком МКБ для приема платежей по QR-коду, обязателен сертификат и подключение по HTTPS с заявленного IP. Столкнулся со следующей проблемой - банк предоставил клиентский сертификат, вот с ним и ничего не получается. И в систему установил (в корневые доверенные), и в чистом виде его 1С-ке передавал, и в cacert.pem добавил - результат один:
"Ошибка работы с Интернет:  Failure when receiving data from the peer"
Код проще некуда
    стСтруктураДанныхJSON = Новый Структура;
    ....................................
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, " ", Истина);  
    ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
    
    ЗаписатьJSON(ЗаписьJSON, стСтруктураДанныхJSON);
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    ssl = Новый ЗащищенноеСоединениеOpenSSL(//);
            //Новый СертификатКлиентаФайл("D:\filename.p12", "password"),
            Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто),
            Новый СертификатыУдостоверяющихЦентровWindows());  
    
    HTTPСоединение = Новый HTTPСоединение("host", port,,,,, ssl);
    Заголовки = Новый Соответствие;
        .................................
    
    запросPOST = Новый HTTPЗапрос("address", Заголовки);
    запросPOST.УстановитьТелоИзСтроки(СтрокаJSON, "utf-8", ИспользованиеByteOrderMark.НеИспользовать);
    
    Ответ = HTTPСоединение.ОтправитьДляОбработки(запросPOST);

Может кто сталкивался? Уже не знаю в какую сторону искать...
   Garykom
 
1 - 24.03.21 - 20:58
(0) Нужна винда и свежая платформа 1С
Ну или stunnel
   arsik
 
2 - 24.03.21 - 21:01
(0) Из браузера попробуй. Ну и вообще браузером то туда заходит? Что по безопасности пишет?
   Tomynoker
 
3 - 24.03.21 - 21:07
(2) Браузер предлагает выбрать сертификат, а потом ругается на GET
"Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Mar 24 21:04:04 MSK 2021
There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported"

Postman вообще пробиться не может
{
    "timestamp": "2021-03-24T18:05:55.430+0000",
    "status": 526,
    "error": "Http Status 526",
    "message": "Invalid SSL Certificate",
    "path": "..........."
}
   Tomynoker
 
4 - 24.03.21 - 21:18
(3) Насильственно прописал сертификат в Postman - заработало, получил  корректный отклик, значит что-то я неверно сделал в 1С
   Garykom
 
5 - 24.03.21 - 21:41
   Tomynoker
 
6 - 25.03.21 - 09:36
(5) Видел, пробовал, не помогло
   arsik
 
7 - 25.03.21 - 09:46
(6) У тебя сертификат валидность то проходит? Вся цепочка присутствует? Что в закладке путь сертификации?
   Tomynoker
 
8 - 25.03.21 - 10:03
(7) Postman с этим сертификатом корректный отклик получает.

Что за закладка "путь сертификации"?
   arsik
 
9 - 25.03.21 - 11:00
   Tomynoker
 
10 - 25.03.21 - 11:32
   arsik
 
11 - 25.03.21 - 11:40
(10) Ну так сделай его валидным. Что бы вся цепочка сертификатов была.
   arsik
 
12 - 25.03.21 - 11:40
Банк скорее всего еще и корневой сертификат тебе должен дать. Поищи.
   Tomynoker
 
13 - 25.03.21 - 12:12
(12) Postman проходит, значит с самим сертификатом все ок, что-то я именно в 1С неверно делаю
   arsik
 
14 - 25.03.21 - 13:03
(13) Я думаю ты ошибаешься.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.