- Windows admin blog
- Полезные команды cmd, powershell, администрирование, фичи и решения проблем на win/winserver
- Установка корневого сертификата в Astra Linux
- Установка сертификатов на Linux
- Установка .cer (только открытая часть)
- Установка из .key (скопированные с носителя 6 файлов ключа)
- Установка сертификата с токена\флэш-накопителя
- Установка открытой части в контейнер закрытого ключа
- Установка корневых сертификатов и списков отзыва
- Установка корневого сертификата удостоверяющего центра
- Через терминал
- Через графический интерфейс
- Установка списка отозванных сертификатов
- Установка цепочки промежуточных сертификатов
Windows admin blog
Полезные команды cmd, powershell, администрирование, фичи и решения проблем на win/winserver
Установка корневого сертификата в Astra Linux
В данной статье рассмотрим, как установить корневой сертификат в системное хранилище доверенных корневых сертификатов. Здесь надо учесть, что браузеры после этого не станут автоматически доверять сайту, сертификат которого выпущен таким центром сертификации, потому что веб-браузеры в Linux используют свои собственные хранилища корневых сертификатов, поэтому будет затронута также тема добавления корневого сертификата в веб-браузеры. Инструкция подойдет не только для Astra Linux, но и для других Debian подобных дистрибутивов.
Установка корневого сертификата в системное хранилище
1. Сертификат должен иметь формат crt. Если формат сертификата отличается, необходимо выполнить его конвертацию. Так, например, для cer-сертификатов:
Если исходный сертификат имеет кодировку DER
openssl x509 -inform DER -in /path/certificate.cer -out certificate.crt
Если исходный сертификат имеет кодировку PEM
openssl x509 -inform PEM -in /path/certificate.cer -out certificate.crt
В параметре out можно сразу указать полный путь сохранения сертификата, в противном случае, он сохранится в текущий каталог.
2. Скопировать полученный сертификат в папку /usr/share/ca-certificates:
sudo cp /path/certificate.crt /usr/share/ca-certificates
вместо /path/certificate.crt подставить свой путь до сертификата и имя сертификата
Есть, однако, мнение, что сертификаты лучше копировать сюда: /usr/local/share/ca-certificates
3. Установить сертификат можно такой командой:
sudo dpkg-reconfigure ca-certificates
Выбрать «Да», нажать «ОК» (Enter), а в следующем окне отметить звездочками сертификаты, которые необходимо установить. При этом, если все успешно, вы должны увидеть информацию о добавлении вашего сертификата. В моем случае выполнялась установка сразу двух сертификатов (2 added)
Есть еще и вот такая команда:
sudo update-ca-certificates
По идее, делает все что нужно в автоматическом режиме.
По итогу, ваш сертификат должен будет находиться здесь: /etc/ssl/certs
Проверка установки
Короткая команда, которая выведет список доверенных сертификатов. В списке вы должны найти свой сертификат — значит он установился.
Для проверки есть такая конструкция:
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/;' < /etc/ssl/certs/ca-certificates.crt | grep -i СЕРТИФИКАТ
Вместо СЕРТИФИКАТ вводим критерий поиска (точное имя сертификата), можно часть имени заменить символом * (например, Digi*) — но в случае со «звездочкой» поиск будет чувствителен к регистру (игнорирует ключ -i), если в имени серитфиката есть пробелы, то критерий поиска обязательно нужно взять в кавычки, даже при использовании маски поиска *.
openssl s_client -connect example.site.ru:443 -quiet
Проверка посредством выполнения подключения к сайту. То есть, здесь мы выполняем не поиск по хранилищу сертификатов, а осуществляем подключение к сайту
Вместо example.site.com вводите ваш сайт, на котором нужно проверить работу сертификата.
Если в результате вывода где-то есть verify error, значит есть проблемы с доверием. Нужно детально изучить вывод — на какой сертификат ругается.
curl https://example.site.com --cacert /etc/ssl/certs/ca-certificates.crt
Может потребоваться установка пакета curl. В ответе должен быть получен код страницы — значит все ОК, доверие к сертификату есть, в противном случае, получим ошибку.
Импорт сертификата в профиль пользователя для Chromium-подобных браузеров
Можно автоматизировать данный процесс. Для выполнения команды должна быть установлена утилита certutil.
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "certificate_name" -i certificate_file.crt
certificate_name — имя сертификата
certificate_file — имя файла сертификата, в примере подразумевается, что сертификат расположен в том же каталоге, что и скрипт
После выполнения данной команды, браузеры на Chromium движке под текущим пользователем будут доверять сертификату (Chrome, Chromium, Opera и т.п.).
Отдельно отмечу, что браузер Firefox использует собственную базу сертификатов, которая располагается в другом месте.
Те же самые действия можно проделать и через GUI браузера.
Настройки — Конфиденциальность и безопасность — Безопасность — Настроить сертификаты
Далее импортировать нужный сертификат в разделе «Центры сертификации»
Установка сертификатов на Linux
- Открыть «Инструменты КриптоПро», вкладка «Сертификаты»;
- Нажать «Импортировать ключи».
По умолчанию при импорте ключ копируется на ваш ПК. Если требуется использовать сертификат на съёмном носителе, его нужно скопировать на носитель и после установить;
Перейти в место хранения сертификата, выбрать его и нажать «Открыть»;
Ввести пароль от сертификата, заданный при выгрузке, и нажать «ОК»;
В новом окне можно задать пароль на сертификат. Если пароль не нужен, оставить поля пустыми и нажать «ОК»;
Установка .cer (только открытая часть)
- Открыть «Инструменты КриптоПро», вкладка «Сертификаты»;
- Нажать «Показать расширенные» и поставить галку «Отключить автовыбор хранилища (использовать текущее)».
Если галку не ставить, «КриптоПро» автоматически будет определять хранилище для сертификатов. Личные сертификаты попадут в хранилище «Другие пользователи»;
Перейти в выпадающем меню в нужное хранилище сертификатов и нажать «Установить сертификаты»;
Перейти в место хранения сертификата, выбрать его и нажать «Открыть»;
Установка из .key (скопированные с носителя 6 файлов ключа)
- Скопировать папку с файлами в папку локального хранения контейнеров «КриптоПро», по умолчанию «/var/opt/cprocsp/keys/имя_пользователя»;
Установка сертификата с токена\флэш-накопителя
- Подключить накопитель или токен к вашему ПК;
- В «Инструментах КриптоПро» перейти на вкладку «Контейнеры» и выбрать нужный контейнер на носителе;
- Нажать «Установить сертификат»;
Установка открытой части в контейнер закрытого ключа
Выполнить команду:/opt/cprocsp/bin/amd64/certmgr -inst -inst_to_cont -ask-container -pin "пин-код токена" -file “путь к файлу сертификата”
Пример:/opt/cprocsp/bin/amd64/certmgr -inst -inst_to_cont -ask-container -pin "12567" -file /path/to/certificate.cer
Установка корневых сертификатов и списков отзыва
Установка корневого сертификата удостоверяющего центра
Вам необходимо воспользоваться любым из способов:
Через терминал
Выполнить команду: /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/.cer -store uRoot
Через графический интерфейс
- Открыть «Инструменты КриптоПро», нажать «Показать расширенные»;
Установка списка отозванных сертификатов
Выполнить команду:/opt/cprocsp/bin/amd64/certmgr -inst -crl -file ~/Загрузки/.crl
Установка цепочки промежуточных сертификатов
Выполнить команду:/opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/.p7b -store CA