Имя: Пароль:
1C
1С v8
Подключение к веб-сервисам Документооборота через https
,
0 Cthulhu
 
26.02.20
14:35
Доступ на продакшн пл rdp, там опубликован был ДО. Задача по интеграции перепиленной упп на оф (если это важно) с использованием web-севисов ДО была решена - по http....
и тут произошло нежданное-негаданное "вдруг": сервер, на котором опубликованы базы данных, переведен тамошним сисадмином на https - с тотальным закрытием доступа по http.
В результате (что в принципе и неудивительно) - вся работа прахом.
Упорное гугление, вылившееся в попытку переписать код "в лоб" (в надежде на то, что сисадмин также побеспокоился и о соответствующей настройке сертификатов на клиенской/-их машине/-ах):

// было ( ДоОпределение = Новый WSОпределения( "http://"; + ДоБазаДанныхПуть + "/ws/dm.1cws?wsdl" , ДоЛогин , ДоПароль ); // было )
//стало (
ДоSsl = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows() , Новый СертификатыУдостоверяющихЦентровWindows() );
ДоОпределение = Новый WSОпределения( "https://"; + ДоБазаДанныхПуть + "/ws/dm.1cws?wsdl" , ДоЛогин , ДоПароль , , 10 , ДоSsl );
// стало )
ДоПрокси = Новый WSПрокси( ДоОпределение , "http://www.1c.ru/dm"; , "DMService" , "DMServiceSoap" , , , ДоSsl );

не исправоло ситуаци:
При создании описания сервиса произошла ошибка. URL сервиса: https://<ДоБазаДанныхПуть>/ws/dm.1cws?wsdl: Ошибка работы с Интернет:  Удаленный узел не прошел проверку"
гугление вылилось в изматывающие нервы и безрезультатные попытки продраться через незнакомую (для меня, "тупого одинэсника") терминологию в попытках выработать хотя бы приблизительный путь решения проблемы...
так что - нижайше прошу коллективный разум всемилостивейше соблаговолить помочь мне связным и понятным рассказом о том, какие шаги мне следует предпринять (и/или о чем мне следует просить/спрашивать сисадмина) для разрешения этой ужасной (для меня) проблемы...
заранееблагодаренивсётакоэ.
1 Cyberhawk
 
26.02.20
14:40
"помочь мне связным и понятным рассказом о том, какие шаги мне следует предпринять" // Шаг номер 1: заглянуть в свой кошелек...
2 bolero
 
26.02.20
14:51
(0) вместо Новый СертификатыУдостоверяющихЦентровWindows() нужно пропихнуть сертификат вашего собственного CA, как - не знаю, спрашивай СП
3 bolero
 
26.02.20
14:52
а сам сертификат CA либо спрашивай у админа, не стесняйся (ключ не нужен, а то в лоб даст вместо сертификата), либо вытащи из окошка информации о подключении в браузере
4 Cthulhu
 
26.02.20
14:53
прим: Опубликовано на IIS (забыл, что это важно).
(1): заглянул... традиционно для последних чисел месяца - пусто. еще предложения? (заглядывать в кошелек жены не предлагать - там точно ничего нет).
5 Cthulhu
 
26.02.20
14:55
(2),(3): спасибо, как минимум - пойду трусить тамошнего админа на предмет прислать мне сертификат (только вот что с ним дальше делать, куда класть на клиенской машине и куда что прописывать - так и не понял, простите)
6 Cthulhu
 
26.02.20
17:52
с тамошнего админа вытрусилась кучка файлов под заголовком "сертификат в разных форматах, так же и корневые (если вдруг надо) в текстовом файле пароль для pfx" - .pfx, .key, .crt (3шт, втч ca1.crt и ca2.crt - я так понимаю, корневые, но куда их пихать - некопенгаген qq), и текстовый (с паролем).
попытки подсунуть SSL pfx-файла с паролем и без пароля:
Если ПустаяСтрока( SslPass )
Тогда ДоSsl = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаФайл( SslFile ) , Новый СертификатыУдостоверяющихЦентровWindows() );
Иначе ДоSsl = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаФайл( SslFile , SslPass ) , Новый СертификатыУдостоверяющихЦентровWindows() ) КонецЕсли;

не дали желаемого результата: "Ошибка при вызове конструктора (WSОпределения): При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка. URL сервиса: https:<ДоБазаДанныхПуть>/ws/dm.1cws?wsdl: Ошибка работы с Интернет:  Удаленный узел не прошел проверку"
рыдаю...
7 Cyberhawk
 
26.02.20
18:50
Сколько платят за решение вопроса?
8 Cthulhu
 
27.02.20
11:08
прим.: наверное надо было сразу упомянуть: база клиент-серверная. в связи с чем доп.вопрос - что-то на сервере надо тоже делать?
9 eklmn
 
гуру
27.02.20
11:19
Потыкай уже по сертификатам которые прислали и установи их
10 Cthulhu
 
27.02.20
13:32
(9) потыкал. установил. не работатет (Удаленный узел не прошел проверку)
+ сконвертировал (с помощью openSSL) в pem (только именно названия не нашел откуда взять - тупо сдобавил или от балды или из CN-параметра субъекта в свойствах). Добавил сгенеренные pem-файлы в bin\cacert.pem каталога установки. не работатет (Удаленный узел не прошел проверку)
11 pechkin
 
27.02.20
13:37
а если просто

ДоSsl = Новый ЗащищенноеСоединениеOpenSSL()
12 Cthulhu
 
27.02.20
14:42
(11): опа. а теперь "Ошибка при вызове конструктора (WSОпределения): Аутентификация пользователя не выполнена.  URL сервиса: https://<ДоБазаДанныхПуть>/ws/dm.1cws?wsdl";
но по http - тот же самый код с теми же логином и паролем = Ок (и в браузере тоже)
13 bolero
 
27.02.20
15:42
(12) а по https в браузере логин пароль ок?
если нет - вангую, что https и http ведут на разные бэкенды ДО
14 Cthulhu
 
27.02.20
15:46
(13); именно. в браузере по https с тем же логином+паролем вхожу Ок.
15 Cthulhu
 
27.02.20
15:47
(13): "бэкенды" - то что / как / гдепосмотреть ?
16 pechkin
 
27.02.20
15:51
(12) возможно веб сервис не опубликован.
именно такая ошибка - когда не опубликован
17 Cthulhu
 
27.02.20
16:48
(16): в смысле "не опубликован"?..
публикация разная для http и https ?.. где/как?
прим.: по http тот же веб-сервис тут же не отходя от кассы с тем же логином+паролем - отрабатывает как надо...
Закон Брукера: Даже маленькая практика стоит большой теории.