Без воды, но с предысторией. Написание мануала навеяно отсутствием чёткого мануала для конкретной программы, и заоблачный ценник Ювелирсофта на данную настройку. В рамках платной поддержки настройка не делается и на вопросы не отвечается. Только отдельной услугой. На данный момент много кто вынужден перейти на их программу, в т.ч. и из-за интеграции. Кто в теме, представляет, о чём я. Есть мануал у ДМДК для общего случая, у Ювелирсофта в мануале описания настройки нет. Тут я постарался собрать только те моменты, которые нужны из разных мануалов. Если что-то плохо разжевал - пишите в комменты, поправлю.
Итак, методом проб и ошибок...
Ошибка №1 Установка сертификата в хранилище "Локальный компьютер"
Ошибка №2 НЕ установка релиза 10.7.1.22 ЮТД
Ошибка №3 Самая моя большая - указал FQDN имя вместо IP в конфиге stunnel...
А теперь по порядку.
1. Обновляемся на релиз 10.7.1.22 (в прошлых устаревший модуль работы с криптографией, идут ошибки при тесте сертификата) или свежее.
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с. Запускаем ЮТД, идём в раздел ГИИС ДМДК, "Настройки электронной подписи и шифрования".
8.1. На вкладке программы добавляем новую и выбираем КриптоПро CSP (ГОСТ 2012/256).
8.2. Для сервера ставим галки Проверять сертификат на сервере и Шифровать сертификат на сервере.
8.3. На вкладке "Сертификаты" нажимаем "Добавить", "Для шифрования и расшифровки", выбираем наш сертификат. Нажимаем "Проверить", в открывшемся окне ещё раз "Проверить". Должно всё позеленеть. Если нет, внимательно вдумываемся в ошибки. Внимание! Релиз до 22 в этом месте не проходит проверку! Для сервера главное, что бы в правом столбике было всё зелёное. Сохраняем, закрываем.
9. Идём в раздел ГИИС ДМДК, "Настройки обмена". Если пусто, добавляем новую. Выбираем организацию, ставим порт, соответствующий сертификату в конфиге, 1501.
9.1. для сервера переключаем проверку на сервер.
10. повторяем 9 пункт для всех баз (или организаций в одной базе).
11. Перелогиниваемся под основным пользователем, если в п.4 логинились под отдельным. Проверяем, что всё работает.
Работаем!
Забыл добавить, спасибо, в комментах написали. Я использовал личную подпись.
Посмотрел ещё одну версию stunnel. Качается там же, называется stunnel_msspi.exe
Не требует такого гемора с установкой. Просто создаёте папку C:\stunnel, кидаете в неё stunnel.conf, stunnel_msspi.exe и сертификат. Работает без гемороев с созданием пароля пользователя. Можно закинуть в автозапуск, вместо установки сервиса. Но и судя по подсказкам, может и сервисом ставиться.