TimVin

1. Обновляемся на релиз платформу 1С до 8.3.22.2239 релиза (в прошлых устаревший модуль работы с криптографией, идут ошибки при тесте сертификата) или свежее.

2. Для удобства, создаём отдельного пользователя. Можно и на текущем сделать, это не проблема. Главное условие — пользователь должен иметь пароль. От имени этого пользователя будем запускать службы, а stunnel без пароля у меня не завёлся. Для тех, у кого крутится сервер 1с, можно использовать пользователя USR1CV8, если он создавался.

3. Идём на сайт cryptopro.ru, скачиваем Крипто-Про 4 или 5 версии, и НА ТОЙ ЖЕ СТРАНИЦЕ качаем stunnel.x64.exe (stunnel.win32.exe, если вы всё ещё сидите на 32-х битной системе).

    3.1. Устанавливаем Крипто-Про CSP, обязательно должна быть действующая лицензия, хоть демо.

    3.2. Создаём папку «stunnel», в корне диска C:\. Естественно, можно и в другую, исправив пути. Кидаем в неё stunnel.x64.exe. Даём ПОЛНЫЙ доступ пользователю из п.2 на папку.

4. Логинимся под пользователем из п.2 запускаем Крипто-Про, копируем контейнер в реестр. Пароль оставляем пустой, или вводим потом везде. (можно использовать «Запуск от имени…».

    4.1. Если у вас несколько организаций, копируем все контейнеры, которые нужны.

    4.2. Заходим в «Просмотр сертификатов в контейнере», Выбираем сертификат, нажимаем «Далее», нажимаем установить — сертификат встанет в ЛИЧНОЕ хранилище ПОЛЬЗОВАТЕЛЯ (НЕ КОМПЬЮТЕРА! Это будет совсем другая история).

    4.3. Нажимаем «Свойства…». Откроется сертификат. Выбираем вкладку «Состав», нажимаем «Копировать в файл…», «Далее», «Не экспортировать закрытый ключ», «Далее», «Файлы X.509 в кодировке DER», выбираем путь в папку C:\stunnel, и задаём имя (напр. cer_01.cer). Далее оно нам понадобится. Сохраняем.

    4.4. Если контейнеров несколько, повторяем для каждого, естественно, с разными именами файлов (cer_01.cer, cer_02.cer …)

5. Создаём в папке C:\stunnel файл конфигурации stunnel.conf, вписываем строки:

output=c:\stunnel\stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https]
client=yes
accept=127.0.0.1:1501
connect=195.209.130.9:443
cert=C:\stunnel\cer_01.cer
verify=0
[https]
client=yes
accept=127.0.0.1:1502
connect=195.209.130.9:443
cert=C:\stunnel\cer_02.cer
verify=0

Тут количество блоков https зависит от количества сертификатов. В поле accept ставим любой свободный порт. Я поставил как в мануале, 1500. Для каждого блока https делаем свой номер порта, и вписываем свой сертификат в поле cert.

Вообще, конфиг должен лежать в C:\Windows\System32, но мне так не очень удобно, и я дальше поправлю путь. В мануале ДМДК указано FQDN имя. Я почему-то решил, что его можно вместо IP поставить. Оказалось нет, нельзя.
6. Теперь у нас всё готово к установке. Открываем командную строку от админа, переходим в C:\stunnel, и поочереди выполняем команды (во второй строке пробел после «=» обязателен!):        

stunnel.x64.exe -install
sc config stunnel start= auto
mklink /H C:\Windows\System32\stunnel.conf C:\Stunnel\stunnel.conf

7. Открываем Службы (services.msc), находим Stunnel Service, на вкладке «Вход в систему» ставим пользователя из п.2. Сохраняем. Запускаем службу (sc start stunnel) или кнопкой.

    7.1. Если делаем на сервере и хотим сделать обработку именно на сервере, то под пользователем из п.2 надо запустить Агента сервера 1с.

8. Теперь переходим к настройке 1с. Запускаем 1С, идём в раздел ГИИС ДМДК, «Настройки электронной подписи и шифрования».

    8.1. На вкладке программы добавляем новую и выбираем КриптоПро CSP (ГОСТ 2012/256).

    8.2. Для сервера ставим галки Проверять сертификат на сервере и Шифровать сертификат на сервере.

 8.3. На вкладке «Сертификаты» нажимаем «Добавить», «Для шифрования и расшифровки», выбираем наш сертификат. Нажимаем «Проверить», в открывшемся окне ещё раз «Проверить». Должно всё позеленеть. Если нет, внимательно вдумываемся в ошибки. Внимание! Релиз до 22 в этом месте не проходит проверку! Для сервера главное, что бы в правом столбике было всё зелёное. Сохраняем, закрываем.

9. Идём в раздел ГИИС ДМДК, «Настройки обмена». Если пусто, добавляем новую. Выбираем организацию, ставим порт, соответствующий сертификату в конфиге, 1501.

    9.1. для сервера переключаем проверку на сервер.

10. повторяем 9 пункт для всех баз (или организаций в одной базе).

11. Перелогиниваемся под основным пользователем, если в п.4 логинились под отдельным. Проверяем, что всё работает.

Рубрики: 1С Предприятие