![]() |
|
Клиентский сертификат для SSL соединения V8.2 | ☑ | ||
---|---|---|---|---|
0
svchernova
28.10.11
✎
14:16
|
С горем пополам настроила 1С в части взаимодействия со сторонней базой данных, используя корневой и клиентский сертификаты. Пришлось инсталлировать stunnel, менять там файл конфигурации, конвертировать файлы клиентского и серверного сертификатов.. Слишком много, и, я думаю, слишком сложно. Может быть, я неправа и 1С прекрасно видит клиентский сертификат, работающий по SSL соединению без установки дополнительного программного обеспечения (Open SSL, stunnel, конвертирования сертификатов и всякой лабуды)? Кто спец?
|
|||
1
oleg_km
28.10.11
✎
15:57
|
а можно пошаговое описание, как все получилось. Потому что и с горем пополам не очень получается.
|
|||
2
svchernova
28.10.11
✎
16:19
|
(1) Извини, я не поняла.. ты хочешь сделать то же самое? я могу выслать инструкцию, как я это делала.
|
|||
3
svchernova
28.10.11
✎
16:19
|
у меня получилось.
|
|||
4
Мимохожий Однако
28.10.11
✎
16:27
|
(2)Выкладывай для всех.
|
|||
5
svchernova
28.10.11
✎
16:29
|
а как выложить?
|
|||
6
svchernova
28.10.11
✎
16:33
|
Описание использования Web-сервисов программой 1С:Предприятие 8.2 через WS-ссылки по протоколу HTTPS с использованием клиентских сертификатов.
В программе 1С:Предприятие v8.х существует возможность использовать сторонние Web-сервисы, как посредством протоколов HTTP, так и HTTPS. Для работы с протоколом HTTP используется корневой сертификат, находящийся в папке «Серверный сертификат». Для работы с протоколом HTTPS (защищенное SSL-соединение) используется клиентский сертификат. В случае использования протокола HTTPS программа 1С:Предприятие может использовать сертификаты сервера, но не может использовать сертификаты клиента. Чтобы это обойти, создаётся шифрованный канал с помощью программы stunnel ( http://www.stunnel.org/ ), которая поддерживает сертификаты клиента. Приложение Stunnel, которое необходимо установить на локальный компьютер пользователя, находится в папке «Stunnel/Stunnel». Для интеграции с ЕСБД необходимо следующее: * Файл с WSDL-описанием web-сервиса, расположенный по адресу: https://icweb/IICWebService.asmx?WSDL , использующий шифрование и требующий клиентский сертификат, для соединения с сервером используется стандартный для HTTPS порт 443; * Компьютер пользователя в локальной сети, на котором будет установлена программа Stunnel, должен использовать стандартный для HTTP порт 80; * Файл серверного сертификата с именем с именем KISC_Root_CA_RSA.crt, расположенный по адресу: http://asb.kz/index.php?option=com_docman&task=cat_view&gid=8&Itemid=13 (Asb.kz -> Скачать -> утилиты -> Корневой сертификат RSA) и находящийся в папке «Серверный сертификат»; * Файл клиентского сертификата с секретным ключом в формате PKCS#12 с именем openssl_client_pkcs12_sign.pfx, предоставленный поставщиком web-услуг и находящийся в папке «Клиентский сертификат»; Оба сертификата должны быть установлены на компьютере пользователя. Установка серверного сертификата производится в папки, предлагаемые по умолчанию, установка клиентского сертификата производится в папку «Личное». Просмотр сертификатов осуществляется из командного окна с помощью команды: certmgr.msc Этап 1: Получение файла сертификата в формате .PEM Программа Stunnel использует сертификаты в формате .PEM, поэтому файлы сертификатов необходимо переконвертировать в формат .PEM. Это можно сделать с помощью пакета OpenSSL ( http://www.openssl.org/ ). Установочный файл Win32OpenSSL_Light-1_0_0d.exe находится в папке OpenSSL-Win32\Установочный файл. Пакет OpenSSL binary для Windows расположен по адресу: http://www.slproweb.com/products/Win32OpenSSL.html Установить OpenSSL можно в любой каталог. Что необходимо сделать: 1.1 сохранить все сертификаты (если там их "дерево") в DER-кодировке (разрешение файла .cer) Для этого использовать команду certmgr.msc В открывшемся окне менеджера сертификатов необходимо выбрать нужный сертификат. Клиентский сертификат установлен в папке «Личное», серверный установлен в папке «Доверенные корневые центры сертификации». Выделить нужный сертификат, затем в контекстном меню выбрать “Все задачи” -> “Экспорт”. Экспортировать сертификат в DER-кодировке в файл .crt Таким образом экспортировать оба сертификата. 1.2 Сконвертировать полученные файлы в PEM кодировку в файл .crt https://www.sslshopper.com/ssl-converter.html 1.3 запустить OpenSSL binary (каталог установки\bin\openssl.exe) Каждый сертификат (.crt) выгрузить в текстовый формат .pem Команда openssl: x509 -in certificate.crt -text -outform PEM -out certificate.pem 1.4 По каждому сертификату получить MD5 Fingerprint Команда openssl: x509 -in certificate.pem -noout -fingerprint -md5 Полученную строку md5 вставить первой в тело сертификата, перед его заголовком. 1.5 В том случае, если протокол HTTPS не используется, необходимо отредактировать файл сертификатов 1С (1С bin\cacert.pem), добавив в него текст каждого файла .PEM, предваряя его строкой MD5 Fingerprint=... В результате получены файлы серверного и клиентского сертификата client.pem и server.pem соответственно. Для того, чтобы приложение Stunnel использовало эти сертификаты, их необходимо поместить в папку, где установлено это приложение. Необходимо также откорректировать файл конфигурации Stunnel.conf Файлы client.pem, server.pem и stunnel.conf помещены в папку «” Этап 2: настройка приложения Stunnel Программа stunnel будет работать на компьютере с IP-адресом 192.168.0.1 и принимать данные от программы 1С:Предприятие на порту 80 и перенаправлять эти данные на сервер example.org по защищённому каналу. Скачиваем программу stunnel, например по адресу http://www.stunnel.org/download/binaries.html В данное время инсталлятор приложения находится в папке Stunnel (stunnel-4.41-installer.exe) После установки программы stunnel в папку, где находится программа stunnel, помещаем файлы client.pem, и server.pem и подменяем файл stunnel.conf на откорректированный (папка Stunnel\Файлы для замены в stunnel) Этап 3: модификация WSDL-файла Необходимо модифицировать WSDL-файл с описанием Web-сервиса. В папке WSDL находятся копии wsdl – файлов. IICWebService.asmx – описание web сервиса от поставщика; IICWebService.wsdl – откорректированное описание web сервиса. Файл поставшика располагается на основном сервере по адресу: http://icweb/IICWebService.asmx?WSDL Откорректированный файл располагается на тестовом сервере по адресу: http://92.46.58.98:88/doku/IICWebService.wsdl После этого файл wsdl можно импортировать в качестве WS-ссылки в программу 1C:Предприятие. Ссылки на полезные статьи : http://infostart.ru/public/83862/ http://infostart.ru/public/70286/ http://itland.ru/forum//index.php?showtopic=19523&pid=102128&mode=threaded&start=#entry102128 |
|||
7
oleg_km
28.10.11
✎
17:49
|
Круто.
Я сделал с помощью WinHTTP. Но там не получится использовать WS-ссылки, SOAP запросы и ответы создаю и читаю ручками. Зато подключение и работа с сертификатами проще. Так что выбирайте. Или одно из двух |
|||
8
TimonXPumbA
16.07.12
✎
07:34
|
Добрый день!
года 2 назад пробовал подключатся к ЁБД но тогда еще не было сертификатов, т.е. они были но их не запускали в эксплуатацию. тогда я мог подключаться к ЁБД средствами 1С. но потом они включили сертификаты и я тормознулся. потом блосил дело. и вот сейчас опять поднял вопрос... так вот у меня к Вам вопрос: можно ли выложить начальный код подключения к ЁБД включая метод /"AuthenticateUser/"? спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |