Имя: Пароль:
1C
1С v8
8.3, dadata.ru, "Удаленный узел не прошел проверку"
0 NorthWind
 
06.08.19
14:11
Добрый день.

Есть обработка, которая обращается к сервису dadata.ru.
Под 8.2 работала и не грела голову.
Под 8.3 - не удается работать с апи, потому что метод ОтправитьДляОбработки дает ошибку "Удаленный узел не прошел проверку".
Погуглил что мог, но какого-либо внятного и быстрого решения проблемы не нашел. Пишут что в 8.3 изменен алгоритм проверки SSL-сертификатов и может быть такая фигня, но как лечить - не вполне понятно.
В браузере сайт показывается нормально, серт не просроченный, не дефектный.
Что можно сделать?
1 Cyberhawk
 
06.08.19
14:16
8.2 использовала сертификаты из папки платформы, 8.3 начиная где-то с 8.3.7 - хранилище ОС
2 Cyberhawk
 
06.08.19
14:17
Напиши имя хоста куда отправляешь запрос
3 StanLee
 
06.08.19
14:17
отключи IPv6
4 NorthWind
 
06.08.19
14:19
ipv6 отключается всегда, ибо во избежание. Хост написан в теме - dadata.ru
5 Cyberhawk
 
06.08.19
14:20
Там ЛетсЕнкрипт. Возможно ОС про него ничего не знает.
6 Cyberhawk
 
06.08.19
14:20
Добавь в ОС
7 NorthWind
 
06.08.19
14:25
Импортировал серт в Личные - не помогло. Куда именно его надо добавить?
Вообще немного странная манера работы. Это мне добавлять теперь серты на все компы где эта обработка используется? А когда просрочится - опять?
8 NorthWind
 
06.08.19
14:32
чет не помогает. Пробовал его совать и для текущего пользователя, и в локальный комп - бесполезно.
9 Garykom
 
гуру
06.08.19
14:36
10 Dmitry1c
 
06.08.19
14:37
(8) у тебя конфигурация если с режимом совместимости 8.3.6 или меньше, то тебе надо править файл cacert.pem в каталоге платформы
11 Cyberhawk
 
06.08.19
14:37
Это может быть и ошибкой платформы
12 Garykom
 
гуру
06.08.19
14:37
13 Garykom
 
гуру
06.08.19
14:38
(11) Это может быть чем угодно и дело даже не в сертификате
14 Cyberhawk
 
06.08.19
14:39
Автору проще всего выложить обработку, воспроизводящую ошибку, в открытый доступ и чтоб еще кто-нибудь у себя проверил
15 NorthWind
 
06.08.19
14:40
(10) да. УПП.
16 Garykom
 
гуру
06.08.19
14:41
Имхо проверь на клиенте не через RDP на хер знает как и кем настроенном сервере.

Просто на обычном компе на той же версии 1С - если работает дело не в сертификате а в настройках операционки (серверной) и прочих сторонних проблемах.
Никакое "добавление сертфиката" тут не поможет, надо искать в чем проблема.
17 Garykom
 
гуру
06.08.19
14:44
(7) >Импортировал серт в Личные - не помогло. Куда именно его надо добавить?
(8) >Пробовал его совать и для текущего пользователя, и в локальный комп - бесполезно.

Сча пошло пошучу плиз не обижаться: А в одно месте еще не пробовали засунуть? Вдруг поможет...

Какой сертификат, куда и зачем пробовали совать? С чего взяли что это может помочь?
18 Garykom
 
гуру
06.08.19
14:45
(17)+ Ну подучить же уже теорию криптографии и всех этих сертфикатов и (К)ЭП. Там же все довольно просто и банально.
19 Dmitry1c
 
06.08.19
14:49
(15) кинь почту свою, я тебе кейс отправлю, по аналогии сделаешь - может поможет
20 Garykom
 
гуру
06.08.19
14:50
http://itnan.ru/post.php?c=1&p=347486 тут немного теории
21 NorthWind
 
06.08.19
14:51
(19) pvladix/gmail/com
22 Garykom
 
гуру
06.08.19
14:52
(20)+ Короче от чьего имени запускается сеанс 1С где код сбоит, вот от этого же на том же компе запустить ie и попробовать зайти на dadata.ru а еще через curl обратиться к сервису dadata.ru
23 NorthWind
 
06.08.19
14:53
(22) вы, видимо, читать не хотите. Сайт в браузере - открывается. Запросы в курле - делаются, я в нем и отлаживался.
В 8.2 - все отлично работает.
Проблема возникла ТОЛЬКО в 8.3.
Эффект устойчивый на нескольких компах.
24 Dmitry1c
 
06.08.19
14:54
(21) отправил, попробуй - может поможет.
25 Garykom
 
гуру
06.08.19
14:55
(23) Сайт в браузере открывается на том же компе, той же операционке и от имени того же пользователя?

Где и от чьего имени выполнятся код 1С который сбоит?
26 NorthWind
 
06.08.19
14:57
(25) да, на том же компе, той же операционке и под тем же пользователем.
Под ним же открывается файловая 8.3 - в ней не пашет.
27 NorthWind
 
06.08.19
14:57
(24) спасибо, поймал, сейчас попробую сделать
28 Cyberhawk
 
06.08.19
14:58
Так не пашет в файловой или к-с?
29 NorthWind
 
06.08.19
14:59
(28) сначала поймали юзеры в к-с. Потом я начал тестировать уже на локальной машине в своей файловой. Не пашет ни там, ни там.
30 ptiz
 
06.08.19
15:00
(0) Сохрани сертификат сайта в файл. Открой его виндой. Посмотри вкладку "путь сертификации" - там всё ОК ?
31 NorthWind
 
06.08.19
15:01
(30) Да вроде да. Написано "Этот сертификат действителен."
32 Cyberhawk
 
06.08.19
15:02
(29) Файловая не через веб-сервер случаем?
33 NorthWind
 
06.08.19
15:02
если бы серт был кривой, dadata.ru при открытии в браузере ругалась бы. Не, не ругается, все зелененькое.
34 Garykom
 
гуру
06.08.19
15:02
(30) В этом случае браузер бы ругался
35 Garykom
 
гуру
06.08.19
15:02
DNS-имя=dadata.ru
DNS-имя=insales.dadata.ru
DNS-имя=suggestions.dadata.ru
DNS-имя=http://www.dadata.ru

У тебя в апи только эти адреса серверов?
36 NorthWind
 
06.08.19
15:03
(32) нет. Тупо локальная файловая.
37 Cyberhawk
 
06.08.19
15:03
(36) Ну если "тупо локальная файловая" 8.3 не работает, а 8.2 работает, то либо-таки в неимпортированности серта в каталог платформы, либо в разных способах доставки интернета до процессов 8.2 и 8.3.
38 Garykom
 
гуру
06.08.19
15:03
(35)+ У них не wildcard сертификат с *.dadata.ru а перечислены какие поддомены только допустимы
39 NorthWind
 
06.08.19
15:05
40 Garykom
 
гуру
06.08.19
15:05
(37) Как бы и я пытался это сказать. Хрень какая то непонятная или неправильное использование.

В коде просто
Соединение = Новый HTTPСоединение(
        ИмяСервера,
        443,
        ,
        ,
        ,
        ,
       Новый ЗащищенноеСоединениеOpenSSL()
    );

?
41 Garykom
 
гуру
06.08.19
15:06
(40) Соединение = Новый HTTPСоединение(ИмяСервера, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL());
42 Cyberhawk
 
06.08.19
15:07
+(37) Ну и конечно же шанс (11) вовсе не ничтожен, даже на багборде как минимум две такие ошибки в разных релизах, а сколько их не дошедших до туда...
43 Garykom
 
гуру
06.08.19
15:08
(39) "возня с cacert.pem" нужна только когда сертификат самоподписанный а не от центра и с проверкой цепочки от корневого.

Покажи сервер в апи какой вызываешь, может это косяк дадаты то там другой серт или не тот стоит
44 NorthWind
 
06.08.19
15:11
Причина найдена. В Новый HTTPСоединение () было опущено Новый ЗащищенноеСоединениеOpenSSL(). После того как этот параметр добавили - все поехало. Всем спасибо!
45 Garykom
 
гуру
06.08.19
15:12
(44) Мля...
46 Garykom
 
гуру
06.08.19
15:13
(45)+ В смысле я думал там намудрено с https://master1c8.ru/integratsiya-i-obmen-dannmi/zashtishtennoe-soedinenie-openssl/
47 Dmitry1c
 
06.08.19
15:15
(39) ты мой файлик-то прочитал? )
48 NorthWind
 
06.08.19
15:17
(47) да. Но похоже, пока не понадобится.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.