Windows admin blog

Инструкция по установке корневых сертификатов

Обратите внимание: должны быть установлены все сертификаты из данной статьи.

I. Корневой сертификат Минцифры России и сертификат КриптоПро

Для установки сертификата Вам потребуется:

Windows admin blog

Windows admin blog

5. Нажмите «Установить сертификат»:

Windows admin blog

6. В открывшемся окне мастера импорта сертификатов укажите «Текущий пользователь» и нажмите «Далее»:

Windows admin blog

Windows admin blog

8. Укажите «Доверенные корневые центры сертификации», нажмите «ОК»:

Windows admin blog

Windows admin blog

10. Для завершения работы мастера импорта сертификатов нажмите «Готово»:

Windows admin blog

11. Подтвердите установку сертификата, нажав кнопку «ОК»:

Windows admin blog

II. Корневой сертификат Удостоверяющего Центра КриптоПро

Произведите установку корневого сертификата Удостоверяющего Центра (УЦ)

Windows admin blog

Установка корневого сертификата УЦ аналогична установке корневого сертификата Минцифры России и сертификата КриптоПро за исключением указания хранилища сертификатов.

При установке данных сертификатов, необходимо указать хранилище сертификатов — «Промежуточные центры сертификации

Windows admin blog

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

вместо /path/certificate.crt подставить свой путь до сертификата и имя сертификата

3. Установить сертификат можно такой командой:

sudo dpkg-reconfigure ca-certificates

Windows admin blog

Выбрать «Да», нажать «ОК» (Enter), а в следующем окне отметить звездочками сертификаты, которые необходимо установить. При этом, если все успешно, вы должны увидеть информацию о добавлении вашего сертификата. В моем случае выполнялась установка сразу двух сертификатов (2 added)

Windows admin blog

Есть еще и вот такая команда:

По идее, делает все что нужно в автоматическом режиме.

По итогу, ваш сертификат должен будет находиться здесь: /etc/ssl/certs

Короткая команда, которая выведет список доверенных сертификатов. В списке вы должны найти свой сертификат — значит он установился.

Для проверки есть такая конструкция:

Вместо СЕРТИФИКАТ вводим критерий поиска (точное имя сертификата), можно часть имени заменить символом * (например, 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 браузера.

Настройки — Конфиденциальность и безопасность — Безопасность — Настроить сертификаты

Windows admin blog

Далее импортировать нужный сертификат в разделе «Центры сертификации»

Примечание

Если во время использования КриптоПро SVS список корневых сертификатов
изменялся (сертификаты добавлялись или удалялись), то для вступления изменений в силу
необходимо перезапустить сервис.

Если сервер SVS не имеет доступа в сеть Internet, то необходимо перевести его в режим проверки
статуса сертификатов Offline, то есть по локально установленным CRL. Для
переключения SVS в режим проверки Offline выполните команду:

Set-VsProperties -RevocationMode Offline

Windows admin blog

Электронная подпись представляет собой цифровой сертификат, выдается на специальном USB-носителе, именуемом «рутокеном». Для того, чтобы начать пользоваться ключом ЭЦП его изначально необходимо установить на компьютер и только после этого появится возможность подписывать документы или авторизироваться на специальных сайтах (относящихся к порталу Госуслуг). Как установить электронную подпись на компьютер, какое программное обеспечение для этого понадобится? Прикрепляется ли ЭЦП к определенному компьютеру или же можно ею пользоваться на любом ПК без ограничений?

Общие сведения о процессе установки

Установка сертификата ЭЦП на компьютер проводится по следующему алгоритму:

Windows admin blog

Стоит учесть, что установка ЭЦП на компьютер возможна только при использовании ОС семейства Windows. Инсталляция в MacOS и Linux пока что не поддерживается, но в этих дистрибутивах с электронными подписями можно работать через специальный плагин для браузеров – он «умеет» получать ключ ЭЦП из USB-токена и использовать его для входа на защищенные порталы, где требуется идентификация личности. Полноценная же работа с электронными подписями реализована исключительно в ОС Windows.

Для работы с ЭЦП используется программная платформа КриптоПро CSP. На текущий момент доступны 2 актуальные версии приложения – 3.5 и 5.0. В принципе, функционал у них практически идентичен, но в версии 5.0 реализовано больше протоколов защиты, поэтому именно она и рекомендуема к использованию. КриптоПро CSP – это единственная программа, сертифицирована в РФ для работы с ЭЦП.

Перед установкой новой ЭЦП на компьютер необходимо убедиться, что он отвечает следующим минимальным техническим требованиям для работы с КриптоПро:

Поддерживается работа и с Windows XP (при установленном Internet Explorer версии 7 или выше), но в этом случае будет действовать ряд ограничений. К тому же, в Windows XP не поддерживаются последние версии Microsoft Office (2016), а также прекращен выпуск некоторых браузеров (того же Chrome, к примеру).

Windows Vista официально не поддерживается КриптоПро CSP, тем не менее, программа там работает, но с такими же ограничениями, как и в Windows XP.

Установка КриптоПро CSP

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

Помимо этого, пользователю потребуется приобрести лицензию на использование данного ПО, предусмотрено 2 её вариации:

https://youtube.com/watch?v=zNxhVExdwJE%3Ffeature%3Doembed

Windows admin blog

Специалист по программному обеспечению

Задать вопрос эксперту

Как установить сертификат ЭЦП на компьютер? Пошаговый алгоритм:

В последнем окне также будут указаны сведения из ЭЦП. Продолжать установку следует только в том случае, если данные – верные, соответствуют действительным данным владельца ключа.

Если система выдаст запрос на выбор хранилища сертификата, то рекомендуется отмечать пункт «Личное». После этого данные ЭЦП будут добавлены в реестр, для последующего его использования вставлять в USB рутокен не потребуется, сертификат будет привязан к используемому оборудованию.

Читать также:  Сертификат соответствия на кирпич полнотелый марки 100

Важный нюанс: если пользователь периодически проводит «чистку» реестра с помощью таких программ, как C&Cleaner или схожих (с подобным функционалом), то после данной процедуры сертификат может деактивироваться и потребуется его повторная установка через КриптоПро.

Вышеуказанная инструкция актуальна для всех версий ОС Windows (XP и старше). В дальнейшем, при использовании офисного пакета Microsoft Office можно прямо из программы выполнять подпись и заверение документов установленным сертификатом буквально в несколько кликов. Если же не интегрировать ЭЦП на компьютер, то подпись допустима только через интерфейс КриптоПро, при этом необходимо в USB вставлять рутокен.

И перед тем как установить ключ электронной подписи на компьютер рекомендуется инсталлировать любой современный антивирус, обновив и его базу данных (сигнатур). В Windows 10 это не обязательно, так как в данной версии операционной системы имеется интегрированный антивирус Microsoft Essential.

https://youtube.com/watch?v=ETCNjgxd7J0%3Ffeature%3Doembed

Привязка к оборудованию

Вышеуказанный метод установки ЭЦП на компьютер выполняет привязку сертификата к оборудованию. При переустановке ОС или изменении аппаратной конфигурации компьютера ключ деактивируется, сертификат потребуется установить повторно.

Ограничений по количеству ПК, где будет использоваться одна и та же электронная подпись – нет. То есть, можно устанавливать сертификат сразу на несколько компьютеров, рабочий ноутбук. Дополнительно останется возможность использовать ЭЦП для однократной подписи документов (если в системе имеется установленная программа КриптоПро CSP). За сохранность персональных данных отвечает только сам владелец ЭЦП.

Установка неквалифицированной подписи

Вышеуказанная инструкция установки ЭЦП на компьютер описывает процесс установки усиленной квалифицированной подписи. Неквалифицированная, в отличии от неё, состоит из 2 файлов – закрытого ключа и открытого сертификата. Также к ним обязательно добавляется сертификат удостоверяющего центра. Устанавливаются они аналогичным образом, через КриптоПро CSP (закрытый не устанавливается, а используется для генерации открытого, а тот, в свою очередь, устанавливается через список контейнеров).

Если ЭЦП необходим ещё для идентификации на портале Госуслуг, то необходимо установить корневой сертификат в браузер Internet Explorer через его меню настроек (также вкладка «Сервис»). Это необходимо только в Windows XP, так как в Internet Explorer версии 8 и выше предусмотрена автоматическая синхронизация браузера с указанными в реестре сертификатами (при первом запуске браузера будет выдан соответствующий запрос на использование сертификата).

Использование плагина в браузере

Для идентификации пользователя на определенных порталах рекомендуется также использовать ключ ЭЦП. Для работы с ним удобней всего использовать КриптоПро ЭЦП Browser plug-in, поддерживающийся в Chrome, Яндекс-браузер, Internet Explorer, FireFox, Opera, Safari. Установить его можно либо с магазина плагинов (у каждого браузера он свой собственный), либо непосредственно с сайта КриптоПро www.cryptopro.ru/products/cades/plugin.

Как установить электронную подпись в браузер с помощью данного плагина? Он автоматически распознает установленные ЭЦП в системе, также умеет работать с USB¬-рутокенами, настройка выполняется буквально в несколько кликов. Только рекомендуется на запуск плагина установить пароль (в его настройках предусмотрена такая возможность) – это защитит от доступа к ЭЦП третьими лицами, которые имеют возможность работать за компьютером владельца электронной подписи.

Срок действия ЭЦП – 12 месяцев, по его истечению сертификат признается не действительным, при попытке им подписать документ будет выдана ошибка.

Для его обновления необходимо повторно обращаться в удостоверяющий центр для создания и регистрации новой электронной подписи. Как установить обновленный сертификат ЭЦП в систему? Точно так же, как и новый, через КриптоПро. Старый сертификат при этом автоматически будет деактивирован. Хоть и срок его действия может ещё и не закончится, но проверку на валидность он проходить не будет.

Первым делом необходимо упомянуть, что каждый удостоверяющий центр предлагает услуги справочной поддержки за дополнительную плату. Соответственно, при возникновении каких-либо проблем с установкой и настройкой ЭЦП можно обращаться непосредственно к ним. Из типичных проблем пользователи чаще всего сталкиваются со следующими:

В общем, установка ЭЦП на компьютер не представляет ничего сложного, разработчики ПО позаботились о том, чтобы с данной задачей справился и не опытный пользователь ПК. За помощью же можно обратиться либо в удостоверяющий центр, либо в справочную службу КриптоПро – они довольно быстро отвечают на все вопросы от пользователей в рабочее время.

Для подключения клиента NGate к шлюзу NGate нужно
установить доверенный корневой сертификат
удостоверяющего центра (УЦ), выпустившего
серверный мандат шлюза NGate. Для подключения к тестовому шлюзу NGate необходимо
установить корневой сертификат одного из тестовых УЦ КриптоПро. Для подключения к рабочему шлюзу NGate
необходим соответствующий сертификат УЦ, обратитесь к Администратору безопасности
вашей сети для получения сертификата.

Установка корневого сертификата может быть произведена тремя способами: при помощи
графической утилиты cptools – Инструменты КриптоПро, консольной утилиты
или клиента NGate.

В данном разделе рассматривается вариант установки корневого сертификата УЦ с
использованием клиента NGate.

В данном разделе описан процесс установки корневого сертификата удостоверяющего центра. Корневой сертификат УЦ, выпустивший сертификат веб-сервера для
шлюза NGate, необходим для успешного подключения к шлюзу. Установку можно произвести
тремя способами: с помощью непосредственно клиента КриптоПро NGate, с помощью
утилиты (из пакета
КриптоПро
CSP) или с помощью консольной утилиты .

Для примера будет использован корневой сертификат Тестового Удостоверяющего Центра
ООО «КРИПТО-ПРО» (https://testca.cryptopro.ru/certsrv/). Корневой сертификат Тестового УЦ будет применяться для
подключения к тестовым шлюзам компании «КРИПТО-ПРО» в ознакомительных целях. Все
необходимые сертификаты для подключения к рабочим шлюзам NGate должны быть
предоставлены Администратором безопасности вашей компании.

В этой статье мы покажем, как добавить (установить) новый сертификат в список доверенных корневых сертификатов в Linux.

Например, вы используете на своем сайте самоподписанный SSL/TLS сертификат и не хотите, чтобы на клиентах при открытии сайта появлялась ошибка SEC_ERROR_UNKNOWN_ISSUER.

Windows admin blog

Чтобы проверить, что ваш хост Linux не может проверить (и соответственно не доверяет) SSL сертификату на определенном сайте, выполните команду:

$ curl –I https://www.sberbank.ru

Windows admin blog

В данном случае нам нужно добавить корневой центр сертификации этого сайта в список доверенных корневых сертификатов Linux.

Установка корневого сертификата в Linux

Для обновления хранилища доверенных сертификатов в Linux вам нужен файл сертификата в формате PEM с расширением файла .crt. PEM сертификат представляет собой текстовый файл в формате base64, который содержит в начале файла строку —-BEGIN CERTIFICATE—- и в конце ——END CERTIFICATE——.

Windows admin blog

Если ваш файл сертификата в формате DER, вы можете конвертировать его в PEM формат с помощью утилиты openssl:

$ openssl x509 -in my_trusted_sub_ca.der -inform der -out my_trusted_sub_ca.cer

Сначала рассмотрим, как добавит корневой сертификат вашего CA в доверенные в дистрибутивах Linux на базе DEB (Ubuntu, Debian, Mint, Kali Linux).

Обновите хранилище сертификатов командой:

$ sudo update-ca-certificates -v

Если команда не найдена, установите пакет в Ubuntu:

$ sudo apt-get install -y ca-certificates

Windows admin blog

Если сертификаты успешно добавлены, появится сообщение о том, что сертфикат скопирован в /etc/ssl/certs/:

Также вы можете добавить новые сертификаты в хранилище с помощью команды:

$ sudo dpkg-reconfigure ca-certificates

Выберите из списка сертификаты, которые нужно добавить в доверенные.

Windows admin blog

В Linux список доверенных сертификатов содержится в файле /etc/ssl/certs/ca-certificates.crt. Обе рассмотренные выше команды обновят этот файл и добавят в информацию о новых сертификатах.

Вы можете проверить, что ваши сертификаты были добавлены в доверенные с помощью команды:

Читать также:  Рабочий удостоверяющий центр эс ндс ошибка импорта сертификат издателя сос не найден

Укажите часть Common Name вашего сертификата вместо YourCASubj для поиска в хранилище по subject.

Windows admin blog

Вы можете убедиться, что ваша ОС доверяет сертификату с помощью команду:

$ openssl verify my_trusted_sub_ca.crt

Windows admin blog

Если Linux не доверяет сертификату, появится ошибка:

error 20 at 0 depth lookup: unable to get local issuer certificate
error my_trusted_sub_ca.crt: verification failed

Теперь проверьте, что на сайте используется доверенный SSL сертификат с помощью curl:

Windows admin blog

Можно также вручную добавить путь к сертификату:

Чтобы удалить сертификат, удалите ваш crt файл:

И обновите хранилище:

$ sudo update-ca-certificates —fresh

В дистрибутивах Linux на базе RPM (CentOS, Oracle, RHEL, Rocky Linux, Fedora) для добавления сертификата в доверенные:

Добавить корневой доверенный сертификат для браузеров Mozilla, Chrome

Теперь все системные утилиты будут доверять сайтам, использующим данный CA. Но это не повлияет на веб браузеры Mozilla Firefox или Google Chrome. Они по-прежнему будут показывать предупреждение о недоверенном сертификате.

Дело в том, что браузеры Firefox, Chromium, Google Chrome, Vivaldi и даже почтовый клиент Mozilla Thunderbird не используют системное хранилище сертификатов Linux. Хранилище сертификатов для этих программ находится в директории пользователя в файле cert8.db (для Mozilla) или cert9.db (для Chromium и Chrome). Для обновления этих хранилищ сертификатов используется утилита certutil из пакета libnss3-tools.

$ sudo apt install libnss3-tools

Windows admin blog

Теперь выполните следующие скрипты для добавления ваших сертификатов в хранилище через NSS:

После запуска скрипта, сайтам с данным CA будут доверять все браузеры.

Для проверки подлинности электронной подписи на компьютере, где и используется ЭЦП, обязательно должен устанавливаться корневой сертификат удостоверяющего центра. Это открытый ключ, по которому криптопровайдер понимает, какая именно организация выдала электронную подпись и к чьему реестру необходимо обращаться для проверки актуальности ЭЦП. Более того, только при наличии установленного в системе корневого сертификата на компьютер можно скопировать персональную электронную подпись (в виде открытого ключа, сгенерированного с помощью USB‑токена). Где получить и как установить корневой сертификат удостоверяющего центра?

Где взять корневой сертификат

Windows admin blog

Консультант по подбору ЭЦП

Необходимо обратить внимание, что срок действия корневых сертификатов также ограничен и составляет 12 месяцев с даты их регистрации (выдачей занимается Минкомсвязи, его наличие у УЦ подтверждает, что организация аккредитована). Соответственно, в начале нового календарного года необходимо проводить инсталляцию нового ключа удостоверяющего центра, чтобы продолжать нормально пользоваться электронной подписью.

Можно ли установить ЭЦП без корневого сертификата

Без корневого сертификата электронную подпись установить тоже получится, но такой ключ не будет признаваться в качестве действительного. Соответственно, подписать документ не получится (КриптоПро CSP будет выдавать ошибку, ссылаясь на невозможность проверить подлинность ЭЦП).

Это актуально и для онлайн-сервисов, где выполняется авторизация через ЭЦП. Все это работать не будет даже при считывании открытого ключа непосредственно из USB-накопителя через КриптоАРМ (без интеграции корневого ключа в систему). Операционная система точно так же будет выдавать ошибку, ссылаясь на невозможность проверить подлинность подписи.

Какая информация содержится в корневом сертификате

Что такое корневой сертификат удостоверяющего центра? Это файл, где сохранена сервисная информация об удостоверяющем центре с указанием даты его действия, сервисным интернет-адресом (через который можно связаться с реестром организации). Все эти данные предоставляются в шифрованном виде, которые использует КриптоПро CSP для проверки подлинности открытой персональной ЭЦП.

Основное назначение корневого ключа – это именно проверка подлинности открытого ключа ЭЦП. Открытую подпись гражданина в теории можно украсть, но воспользоваться ею без сертификата от удостоверяющего центра – не получится. То есть, вся эта схема сделана так, чтобы предотвратить факты использования чужой ЭЦП мошенниками или просто третьими лицами.

Понадобится сам файл с расширением .crt. Если он распространяется в форме архива – сперва файл необходимо разархивировать (для этого подойдет приложение WinRAR или 7Z). Затем для установки корневого сертификата необходимо следовать шагам инструкции:

В том случае, если пользователь попытается провести установку корневого сертификата удостоверяющего центра, срок действия которого уже истек, то при попытке его импорта система выдаст ошибку.

После установки корневого ключа настоятельно рекомендуется перезагрузить компьютер. В противном случае – могут возникать ошибки при запуске КриптоПро CSP (довольно частая проблема при использовании Windows XP устаревших редакций, которые официально уже не поддерживаются разработчиком ПО).

Установка в Linux

В современных дистрибутивах Linux установка корневых сертификатов удостоверяющих центров выполняется ничуть не сложнее, нежели в среде Windows. Потребуется файл с расширением .crt, достаточно по нему дважды кликнуть мышкой и выбрать «Установить» (подтвердить выбор необходимо введением пароля пользователя).

Возможные проблемы и пути их решения

Первое, на что стоит обратить внимание если не устанавливается корневой сертификат удостоверяющего центра – это на лицензию операционной системы. В пиратских версиях Windows функционал, отвечающий за установку и работу с сертификатами, довольно часто полностью обрезан или нарушена целостность хранилищ (из-за некоторых отключенных служб). Поэтому начать следует именно с установки лицензионной версии Windows.

Ошибка с правами

Такая ошибка возникает при использовании устаревшей редакции Windows 7. Необходимо обновить ОС до редакции Service Pack 1 и выполнить импорт сертификата удостоверяющего центра ещё раз.

Также следует упомянуть, что разработчики КриптоПро CSP рекомендуют использовать 64-битные версии операционных систем. Это актуально для Windows 7 и выше. Windows XP последней редакции (Service Pack 3) никогда не выходила в 64-битной вариации, но там с установкой сертификатов никаких подобных проблем не возникает.

Данная ошибка также часто встречается в Windows Vista (кроме редакции Service Pack 2). Решение – обновить операционную систему или установить более актуальную версию. Все это относится не только к пользовательским версиям Windows, но и к серверным.

Ошибка импорта сертификата

Если Windows выдает ошибку при попытке выполнения импорта сертификата во внутреннее хранилище, то это может указывать на:

Если все вышеуказанные причины устранены, но ошибка все равно возникает, то следует выполнить переустановку операционной системы с очисткой всего хранилища ранее установленных пользователем сертификатов.

Обновление корневого сертификата удостоверяющего центра

При наступлении нового календарного года необходимо самостоятельно устанавливать обновленные ключи удостоверяющих центров на компьютеры, где используется ЭЦП (операционная система выдаст соответствующее напоминание при запуске).

Выполнить обновление можно двумя методами:

Установка нового сертификата ничем не отличается от описанной выше. Удалять старый ключ удостоверяющего центра не обязательно – он все равно будет считаться системой как недействительный, использоваться он не будет.

Также некоторые удостоверяющие центры выпускают специальные программы для автоматической установки всех необходимых корневых сертификатов. Информацию на этот счет можно получить в самом УЦ или на их официальном сайте. Для установки обновленных ключей действующее интернет-подключение не нужно, актуальность файла будет автоматически проверена при первом подключении к сети. Такая проверка проводится всего один раз за весь срок действия корневого сертификата.

Итого, как установить корневой сертификат удостоверяющего центра для КриптоПро? Как и любой другой ключ, потребуется лишь указать в качестве хранилища «Доверенные корневые центры». В противном случае – ключ будет импортирован как персональный, для проверки электронной подписи он использоваться не будет.

Сертификаты SSL используются для обеспечения безопасности в различных сферах. Самая распространенная — это просмотр веб-сайтов по протоколу HTTPS. Существует небольшое количество доверенных корневых сертификатов организаций, которые подписывают остальные сертификаты для всех сайтов. Эти доверенные сертификаты хранятся на каждом компьютере или смартфоне. И именно исходя из этого веб-браузер может понимать, что тому или иному сайту можно доверять.

Читать также:  В каких случаях возможно тестирование с сертификатом в РЦ РФ

Но если вы попытаетесь создать свой корневой сертификат и подписать им сертификат для своего сайта, то увидите в браузере сообщение о том, что подключение не безопасно потому что используется сертификат, которого нет в списке доверенных. Аналогично будут работать и другие программы. Но вы можете добавить свой сертификат в список доверенных в своей системе. В этой статье мы рассмотрим как установить сертификат в Ubuntu.

Что нам понадобится?

Я хочу показать на примере как сделать сертификат доверенным в Ubuntu. Для этого можно создать свой центр сертификации CA с помощью EasyRSA, создать и подписать SSL сертификат, как это описано в статье про создание сертификатов OpenSSL. Далее использовать этот сертификат для домена localhost в Apache. Таким образом у вас получится три файла:

Активируйте файл виртуального хоста Apache для сайта по умолчанию с помощью такой команды:

sudo a2ensite default-ssl

Далее откройте этот файл и найдите такие строки:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Для параметра SSLCertificateFile надо передать путь к сертификату сайта, например, localhost.crt, а для SSLCertificateKeyFile — ключу сертификата сайта. Например, localhost.key. Если сертификаты находятся в папке /etc/apache/ssl, то конфигуация будет выглядеть вот так:

SSLCertificateFile /etc/apache/ssl/localhost.crt
SSLCertificateKeyFile /etc/apache/ssl/localhost.key

После этого нужно перезапустить Apache:

sudo systemctl restart apache2

Теперь у вас всё готово для того чтобы выполнить всё описанное ниже в своей системе.

Установка в системе

Если вы попытаетесь использовать подписанные вами сертификаты для включения поддержки HTTPS на веб-сервере, а потом откроете такой веб-сайт с помощью браузера или сделаете к нему запрос в командной строке, то получите ошибку SSL, в которой будет сказано, что этот сертификат не является доверенным и подключение к этому сайту может быть не безопасно.

curl -I https://localhost

Windows admin blog

Для того чтобы сертификат считался доверенным в системе нужно добавить корневой сертификат центра сертификации, с помощью которого он был подписан в список доверенных. Если это самоподписанный сертификат, то в список доверенных можно добавлять его самого.

После этого необходимо выполнить такую команду:

Windows admin blog

После этого можно проверить что система воспринимает сертификат как доверенный выполнив команду curl:

Windows admin blog

Но этот способ будет работать только для тех программ, которые используют системное хранилище доверенных сертификатов. Веб-браузеры, такие как Firefox и Google Chrome имеют собственные хранилища сертификатов и не используют хранилище системы, поэтому в каждом браузере нужно импортировать сертификаты отдельно. Иначе вы будете получать такую ошибку:

Windows admin blog

Chrome, Firefox, Thunderbird используют nssdb для работы с сертификатами. Это значит что вы можете импортировать сертификаты как в графическом интерфейсе браузера, так и в терминале, с помощью утилиты certutil. Давайте рассмотрим как это сделать. Давайте рассмотрим как выполняется установка сертификата в Ubuntu.

Установка в Google Chrome

Для того чтобы добавить сертификат в Google Chrome или Chromium в графическом интерфейсе откройте настройки из главного меню:

Windows admin blog

Windows admin blog

В открывшемся окне перейдите на вкладку Центры сертификации:

Windows admin blog

Здесь необходимо нажать кнопку Импорт и выбрать файл корневого сертификата:

Windows admin blog

Далее надо настроить параметры доверия. Поскольку сейчас сертификат будет использоваться для подтверждения подлинности сайтов, то можно оставить только первый пункт:

Windows admin blog

После этого сертификат будет добавлен и вы больше не будете видеть информацию о том, что подключение не безопасное.

Windows admin blog

В командной строке всё тоже довольно просто. Для работы с сертификатами вам понадобится пакет libnss3-tools, установите его с помощью команды:

База данных сертификатов Google Chrome находится в папке ~/.pki/nssdb. Вы можете посмотреть доступные сертификаты командой:

certutil -d ~/.pki/nssdb -L

Синтаксис команды для добавления сертификата следующий:

Обратите внимание на настройки доверия. Существует три группы атрибутов доверия:

Каждая из групп может содержать такие атрибуты:

Для SSL сертификатов можно достаточно такой последовательности «TC,,». То есть атрибуты T и C для SSL и ничего для всего остального. Вся команда для импорта ca.crt будет выглядеть вот так:

certutil -d sql:~/.pki/nssdb -A -t «TC,,» -n «Losst CA» -i ./ca.crt

После этого вы снова можете посмотреть список сертификатов для того чтобы убедится что всё хорошо:

certutil -d sql:~/.pki/nssdb -L

Windows admin blog

Сертификат есть и после этого браузер будет считать его доверенным. Сертификаты добавленные в графическом интерфейсе тоже добавляются сюда. Теперь вы знаете как выполняется установка корневых сертификатов Ubuntu.

Установка в Firefox

В Firefox всё немного сложнее. Тут нет централизованного хранилища сертификатов, а поэтому их придется добавлять для каждого профиля отдельно, что в графическом интерфейсе, что в командной строке. Для того чтобы добавить сертификат в графическом интерфейсе откройте Настройки в главном меню:

Windows admin blog

Далее перейдите в раздел Защита и безопасность и найдите там пункт Сертификаты. Здесь надо нажать кнопку Посмотреть сертификаты:

Windows admin blog

В открывшемся окне перейдите на вкладку Центры сертификации и нажмите кнопку Импортировать, для того чтобы добавить свой сертификат. Далее выберите файл сертификата и установить настройки доверия. Нужно отметить как минимум первую галочку — Доверять при идентификации веб-сайтов:

Windows admin blog

На этом установка SSL сертификата в Firefox завершена. Если вы хотите добавить сертификат в командной строке, то необходимо добавить его во все профили. Профили находятся в папке ~/.mozilla/firefox/. В данном примере, есть два профиля и только один из них заполнен:

Windows admin blog

Файлы nssdb находятся прямо в папке профиля, поэтому можно просто передать эту папку в certutil. Например, для просмотра списка сертификатов выполните:

certutil -d ~/.mozilla/firefox/k9z8sttc.default-release/ -L

Windows admin blog

Для добавления сертификата используйте такую команду подставив свой путь к папке профиля:

certutil -d ~/.mozilla/firefox/k9z8sttc.default-release/ -A -t «TC,,» -n «Losst» -i ./ca.crt

После этого полученный сертификат появится в списке.

Windows admin blog

Обратите внимание, что такой способ работает для Firefox, установленного как .deb пакет. Если у вас Firefox, установленный с помощью пакетного менеджера snap, то этот метод может не работать.

Для Firefox есть ещё один способ добавить сертификаты из системы автоматически без использования certutil. Это загрузка сертификатов с помощью политики. Возможно вы слышали про опцию security.enterprise_roots.enabled в about:config. Она работает только в Windows и MacOS но не в Linux. Однако, можно создать файл политики папке /usr/lib/firefox/distribution/ и там прописать какие сертификаты следует загрузить. По умолчанию Firefox будет искать сертификаты таких каталогах:

В самом файле надо указать имена файлов сертификатов если они находятся в одной из этих папок или полный путь к ним. Например, скопируйте сертификат CA в папку /usr/lib/mozilla/certificates:

cp ~/easy-rsa-ca/ca.crt /usr/lib/mozilla/certificates/losst.crt

Поддерживаются как ASCII сертификаты (CRT/PEM), так и двоичные (DER). Затем создайте файл политики со следующем содержимым:

sudo vi /usr/lib/firefox/distribution/policies.json

Windows admin blog

Перезапустите браузер и после этого Firefox должен начать видеть ваш сертификат.

Выводы

В этой статье мы рассмотрели как установить сертификаты в Ubuntu, а также как добавить их в самые популярные браузеры. Как видите, универсального решения, не существует, но всё можно настроить.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *