Имя: Пароль:
1C
1С v8
Peer certificate cannot be authenticated with known CA certificates
0 DosBot
 
09.12.16
07:47
Платформа 1С:Предприятие 8.2 (8.2.16.368)
Конфа самописная.
Установлен режим совместимости - Версия 8.1
Толстый клиент, обычные формы.
Клиент-серверный вариант работы.

Пытаюсь выполнить HTTPs-запрос и получить файлик с результатом следующим кодом (выполняется на Сервере):

Адрес = "registers.esma.europa.eu/solr/esma_registers_mifid_sha/select?q=({!parent which=%27type_s:parent%27})&fq=((((sha_modificationDate:[* TO 2013-06-18T23:59:59.000Z]) AND (sha_modificationBDate:[2013-06-18T00:00:00.000Z TO *]) AND !sha_status:Not\ effective\ yet) OR ((sha_modificationDate:[* TO 2013-06-18T23:59:59.000Z]) AND (sha_modificationBDate:[NOW TO *]) AND (sha_modificationDate:[* TO 2013-06-18T23:59:59.000Z]) AND (sha_modificationBDate:[2013-06-18T00:00:00.000Z TO *]) AND sha_status:Not\ effective\ yet))) AND (sha_isin:NL0000186633)&wt=xml&rows=100000&indent=true";

Попытка
   Соединение = Новый HTTPСоединение(Адрес,,,,,Истина);
   Соединение.Получить(Адрес, ПутьФайлаОтвета);
Исключение
   Сообщить(ОписаниеОшибки());    
КонецПопытки;

В файлик cacert.pem соответствующие сертификаты добавлены (по инструкции http://catalog.mista.ru/public/79494/)

Ошибка не уходит.

Если делать с локальной рабочей машины - запрос выполняется. Именно из базы на сервере - вылазиет ошибка из сабжа.
1 DosBot
 
09.12.16
08:10
+ т.е. если взять тот же cacert.pem и воткнуть в файловую базу НЕ на сервере - ошибки на др. компе нет. ЧЯДНТ?
2 DosBot
 
09.12.16
10:54
Хотя нет.. на локальном компе тоже какая то печаль (видимо админы что-то намутили с файлом SSL ключей).

А вот на сайте представлено 3 сертификата. Обрабатывать утилитой Open-SSL каждый из них отдельно? И по каждому добавлять в cacert.pem??

К сожалению даже проверить не могу - доступов нету :(
3 DosBot
 
16.12.16
06:09
Добрые люди подсказали вариант на счёт использования  COMОбъект("Msxml2.XMLHTTP")

Код, в моём случае, выглядит следующим образом:
        
        ПутьФайлаОтвета = "C:\Каталог\файл.xml";
        URL = "https://АдресСЗапросом";;
    xmlhttp = Новый COMОбъект("Msxml2.XMLHTTP");
        xmlhttp.open("GET", URL, false);
        xmlhttp.send(null);
        
        Если xmlhttp.status = 200 Тогда

            ТекстДок = Новый ТекстовыйДокумент;
            ТекстДок.УстановитьТекст(xmlhttp.responseText);
            ТекстДок.Записать(ПутьФайлаОтвета);
        
        КонецЕсли;

Работает норм. Главное, чтобы был доступ в интернет у пользователя, под которым это выполняешь (из общего модуля на Сервере у меня не получилось - т.к. серверный юзверь не имеет доступ в инет)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс