blog.b4tman.ru/content/post/2024-10-10-minica.md
2024-10-10 17:59:28 +03:00

71 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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]
---
Описал как создавать и использовать сертификаты для веб публикаций 1С.
<!--more-->
## Введение
Для автоматического обновления тонких клиентов через веб-публикацию, включая **1C Link**, необходимо использовать либо протокол **http**, что не является безопасным, либо **https** с корректным сертификатом, так как самоподписанный сертификат больше не подходит.
## Создание сертификатов
Для решения этой задачи можно воспользоваться программой **minica**, доступной по следующей ссылке:
https://github.com/jsha/minica
Например:
~~~bash
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`:
~~~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** позволяет пользоваться автоматическим обновлением тонких клиентов, при этом не жертвуя безопасностью.