Установка корневого сертификата Windows\Linux: различия между версиями
Srv (обсуждение | вклад) Нет описания правки |
Srv (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
== Местонахождение корневого сертификата == | == Местонахождение корневого сертификата == | ||
.. | 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 == | == Установка корневого сертификата на Windows == | ||
Строка 35: | Строка 33: | ||
[[Файл:6.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 должен начать видеть ваш сертификат. |
Текущая версия от 06:35, 30 июля 2024
Местонахождение корневого сертификата
Установка корневого сертификата на Windows
Дважды щелкаем по сертификату и открывается окно с его свойствами. Дальше нажимаем на кнопку «Установить сертификат»:
Установить можно для текущего пользователя или для всего компьютера. Так как у меня это тестовая установка, я выберу «Текущий пользователь»:
После нажатия на кнопку «Далее» нужно выбрать «Поместить все сертификаты в следующее хранилище» и нажать кнопку «Обзор»:
В открывшемся окне выбираем «Доверенные корневые центры сертификации»:
Затем нажимаем кнопку «ОК», «Далее» и «Готово».
И подтверждаем установку сертификата:
И затем нужно будет ещё раз нажать кнопку «ОК».
Если вы еще раз откроете свойства сертификата (двойным щелчком по нему), то увидите что система начала ему доверять:
Установка корневого сертификата на Linux
Ubuntu и Debian
По данному пути находится хранилище сертификатов /usr/local/share/ca-certificates/
Копируем в каталог ca-certificates корневой сертификат
После чего открываем терминал и вводим команду sudo update-ca-certificates ( Обновление списка сертификатов )
CentOS, Fedora и RedHat
По данному пути находится хранилище сертификатов /etc/pki/ca-trust/source/anchors/
Копируем в каталог anchors корневой сертификат
После чего открываем терминал и вводим команду sudo update-ca-trust ( Обновление списка сертификатов )
Установка в браузеры
Примечание: Для импорта корневого сертификата в браузер сертификат должен быть добавлен в систему ( что мы и делали выше )
Так же для некоторых браузеров достаточно что бы корневой сертификат был добавлен в систему . На пример Opera .
Установка в Google Chrome
Для того чтобы добавить сертификат в Google Chrome или Chromium в графическом интерфейсе откройте настройки из главного меню:
Перейдите в Конфиденциальность и безопасность -> Безопасность -> Настроить сертификаты:
В открывшемся окне перейдите на вкладку Центры сертификации:
Здесь необходимо нажать кнопку Импорт и выбрать файл корневого сертификата:
Далее надо настроить параметры доверия. Поскольку сейчас сертификат будет использоваться для подтверждения подлинности сайтов, то можно оставить только первый пункт:
Установка сертификата через командную строку 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
Сертификат есть и после этого браузер будет считать его доверенным. Сертификаты добавленные в графическом интерфейсе тоже добавляются сюда. Теперь вы знаете как выполняется установка корневых сертификатов Ubuntu.
Установка в Firefox
В Firefox всё немного сложнее. Тут нет централизованного хранилища сертификатов, а поэтому их придется добавлять для каждого профиля отдельно, что в графическом интерфейсе, что в командной строке. Для того чтобы добавить сертификат в графическом интерфейсе откройте Настройки в главном меню:
Далее перейдите в раздел Защита и безопасность и найдите там пункт Сертификаты. Здесь надо нажать кнопку Посмотреть сертификаты:
В открывшемся окне перейдите на вкладку Центры сертификации и нажмите кнопку Импортировать, для того чтобы добавить свой сертификат. Далее выберите файл сертификата и установить настройки доверия. Нужно отметить как минимум первую галочку - Доверять при идентификации веб-сайтов:
Установка сертификата через командную строку linux в firefox
Если вы хотите добавить сертификат в командной строке, то необходимо добавить его во все профили. Профили находятся в папке ~/.mozilla/firefox/. В данном примере, есть два профиля и только один из них заполнен:
Файлы nssdb находятся прямо в папке профиля, поэтому можно просто передать эту папку в certutil. Например, для просмотра списка сертификатов выполните:
certutil -d ~/.mozilla/firefox/k9z8sttc.default-release/ -L
Для добавления сертификата используйте такую команду подставив свой путь к папке профиля:
certutil -d ~/.mozilla/firefox/k9z8sttc.default-release/ -A -t "TC,," -n "Losst" -i ./ca.crt
После этого полученный сертификат появится в списке.
Обратите внимание, что такой способ работает для 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",
]
}
}
}
Перезапустите браузер и после этого Firefox должен начать видеть ваш сертификат.