Имя: Пароль:
1C
1С v8
Клиентский сертификат для 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/"?
спасибо
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн