blog.b4tman.ru/content/post/2024-10-10-minica.md

71 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2024-10-10 14:13:00 +00:00
---
title: "minica - программа для создания сертификатов ssl"
author: "Dmitry Belyaev"
date: 2024-10-10T16:45:26+03:00
tags: [minica,pkcs12,https,iis,apache,nginx,openssl,1C,1C Link]
---
2024-10-10 14:59:28 +00:00
Описал как создавать и использовать сертификаты для веб публикаций 1С.
<!--more-->
2024-10-10 14:13:00 +00:00
## Введение
2024-10-10 14:59:28 +00:00
Для автоматического обновления тонких клиентов через веб-публикацию, включая **1C Link**, необходимо использовать либо протокол **http**, что не является безопасным, либо **https** с корректным сертификатом, так как самоподписанный сертификат больше не подходит.
2024-10-10 14:13:00 +00:00
## Создание сертификатов
Для решения этой задачи можно воспользоваться программой **minica**, доступной по следующей ссылке:
https://github.com/jsha/minica
Например:
~~~bash
2024-10-10 14:16:19 +00:00
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
2024-10-10 14:13:00 +00:00
~~~
Получим файлы CA:
2024-10-10 14:16:19 +00:00
- `company-ca.pem` — корневой сертификат, можно переименовать в `.crt` и установить на клиентах и на сервере
2024-10-10 14:13:00 +00:00
2024-10-10 14:16:19 +00:00
- `company-ca-key.pem` — ключ коренного сертификата (не нужен)
2024-10-10 14:13:00 +00:00
и папку `_.company.local` с файлами:
- `cert.pem` — можно переименовать в `.crt` и установить на сервер
- `key.pem` — ключ сертификата
Но это файлы в формате `pem` (для закрытого ключа), который подходит для **apache** и **nginx**, но не подойдёт для **IIS**.
## Конвертация для IIS
Для использования с **IIS** нужно сконвертировать файлы сертификатов.
Это можно сделать с помощью `openssl`:
~~~bash
openssl pkcs12 -export -out cert.pfx -inkey .\key.pem -in .\cert.pem -certfile .\cert.pem
~~~
В итоге получится файл `cert.pfx`, который можно импортировать в хранилище сертификатов Windows и использовать в **IIS**.
## Установка на клиентах
Сертификаты CA нужно установить на клиентах в "Доверенные корневые центры сертификации".
На Windows можно установить так:
~~~bat
certutil -addstore "Root" 1C-Link-CA.crt
~~~
## Сертификаты 1С Линк
Сейчасм можно скачать тут:
https://d.1c.link/1C-Link-CA.crt
Но путь могут изменить, лучше посмотреть в документации.
## Заключение
Исползование корневых сертификатов созданных с помощью **minica** позволяет пользоваться автоматическим обновлением тонких клиентов, при этом не жертвуя безопасностью.