Описал как создавать и использовать сертификаты для веб публикаций 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 позволяет пользоваться автоматическим обновлением тонких клиентов, при этом не жертвуя безопасностью.