minica - программа для создания сертификатов ssl

Описал как создавать и использовать сертификаты для веб публикаций 1С.

Введение

Для автоматического обновления тонких клиентов через веб-публикацию, включая 1C Link, необходимо использовать либо протокол http, что не является безопасным, либо https с корректным сертификатом, так как самоподписанный сертификат больше не подходит.

Создание сертификатов

Для решения этой задачи можно воспользоваться программой minica, доступной по следующей ссылке: https://github.com/jsha/minica

Например:

minica -ca-cert company-ca.pem -ca-key company-ca-key.pem -domains *.company.local,mysrv,anothername,localhost -ip-addresses 127.0.0.1,192.168.1.21

Получим файлы CA:

  • company-ca.pem — корневой сертификат, можно переименовать в .crt и установить на клиентах и на сервере

  • company-ca-key.pem — ключ коренного сертификата (не нужен)

и папку _.company.local с файлами:

  • cert.pem — можно переименовать в .crt и установить на сервер
  • key.pem — ключ сертификата

Но это файлы в формате pem (для закрытого ключа), который подходит для apache и nginx, но не подойдёт для IIS.

Конвертация для IIS

Для использования с IIS нужно сконвертировать файлы сертификатов. Это можно сделать с помощью openssl:

openssl pkcs12 -export -out cert.pfx -inkey .\key.pem -in .\cert.pem -certfile .\cert.pem

В итоге получится файл cert.pfx, который можно импортировать в хранилище сертификатов Windows и использовать в IIS.

Установка на клиентах

Сертификаты CA нужно установить на клиентах в “Доверенные корневые центры сертификации”.

На Windows можно установить так:

certutil -addstore "Root" 1C-Link-CA.crt

Сертификаты 1С Линк

Сейчасм можно скачать тут: https://d.1c.link/1C-Link-CA.crt

Но путь могут изменить, лучше посмотреть в документации.

Заключение

Исползование корневых сертификатов созданных с помощью minica позволяет пользоваться автоматическим обновлением тонких клиентов, при этом не жертвуя безопасностью.


Смотрите также