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

Материал из wiki
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Местонахождение корневого сертификата

https://cloud2.rpn-sfera.ru/library/83efc78d-ee06-40d7-a2f9-c38d3879d737/soft/%D0%A1%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D1%8B

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

Дважды щелкаем по сертификату и открывается окно с его свойствами. Дальше нажимаем на кнопку «Установить сертификат»:

1.png

Установить можно для текущего пользователя или для всего компьютера. Так как у меня это тестовая установка, я выберу «Текущий пользователь»:

2.png

После нажатия на кнопку «Далее» нужно выбрать «Поместить все сертификаты в следующее хранилище» и нажать кнопку «Обзор»:

3.png

В открывшемся окне выбираем «Доверенные корневые центры сертификации»:

4.png

Затем нажимаем кнопку «ОК», «Далее» и «Готово».

И подтверждаем установку сертификата:

5.png

И затем нужно будет ещё раз нажать кнопку «ОК».

Если вы еще раз откроете свойства сертификата (двойным щелчком по нему), то увидите что система начала ему доверять:

6.png

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

Ubuntu и Debian

По данному пути находится хранилище сертификатов /usr/local/share/ca-certificates/

Копируем в каталог ca-certificates корневой сертификат

После чего открываем терминал и вводим команду sudo update-ca-certificates ( Обновление списка сертификатов )

1 u.png


CentOS, Fedora и RedHat

По данному пути находится хранилище сертификатов /etc/pki/ca-trust/source/anchors/

Копируем в каталог anchors корневой сертификат

После чего открываем терминал и вводим команду sudo update-ca-trust ( Обновление списка сертификатов )


Установка в браузеры

Примечание: Для импорта корневого сертификата в браузер сертификат должен быть добавлен в систему ( что мы и делали выше )

Так же для некоторых браузеров достаточно что бы корневой сертификат был добавлен в систему . На пример Opera .

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

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

1 g.png

Перейдите в Конфиденциальность и безопасность -> Безопасность -> Настроить сертификаты:

2 g.png


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

3 g.png

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

4 g.png

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

5 g.png


Установка сертификата через командную строку linux в Google Chrome

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

sudo apt install libnss3-tools

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

certutil -d ~/.pki/nssdb -L

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

certutil -d путь/к/базе/данных -A -t "настройки_доверия" -n "имя" -i "/путь/к/файлу"

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

Для SSL;

Для Email;

Для программного обеспечения и других объектов.

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

p - валидный пир;

P - доверенный пир;

c - валидный центр сертификации;

C - доверенный центр сертификации;

T - доверенный центр сертификации для авторизации клиентов.

Для 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

6 gt.png

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


Установка в Firefox

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

1 f.png

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

2 f.png

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

3 f.png


Установка сертификата через командную строку linux в firefox

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

4 f.png

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

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

5 f.png

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

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

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

6 f.png

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

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

/usr/lib/mozilla/certificates /usr/lib64/mozilla/certificates ~/.mozilla/certificates В самом файле надо указать имена файлов сертификатов если они находятся в одной из этих папок или полный путь к ним. Например, скопируйте сертификат 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

{

   "policies": {
       "ImportEnterpriseRoots": true,
       "Certificates": {
           "Install": [
               "losst.crt",
           ]
      }
   }

}

7 f.png

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