У цій статті ми покажемо, як додати (встановити) новий сертифікат до списку надійних кореневих сертифікатів у Linux.
Зміст:
- Встановлення кореневого сертифіката в Linux
- Додайте сертифікат довіреного кореня для браузерів Mozilla, Chrome
Наприклад, ви використовуєте на своєму веб -сайті сертифікат SSL/TLS і не хочете помилки SEC_ROROR_UNKNOWN_ISSUER при відкритті сайту під час відкриття сайту.
Або це може бути сертифікат, визначений самостійно з веб -сайту IIS на Windows.
Щоб перевірити, що ваш хост Linux не може перевірити (і не довіряти) сертифікат SSL на певному сайті, виконайте команду:
$ Curl -I https: // www.Sberbank.ru
Curl: (60) Сертифікат SSL Проблема: Неможливо отримати сертифікат місцевого емітента. Детальніше тут: https: // curl.хакс.Se/docs/sslcerts.HTML Curl Faleled, щоб перевірити легітимність сервера, і раніше не зміг встановити безпечне з'єднання з ним. Щоб дізнатися більше про цю ситуацію та як її виправити, відвідайте веб -сторінку, згадану вище.
У цьому випадку нам потрібно додати кореневий центр для сертифікації цього сайту до списку надійних кореневих сертифікатів Linux.
Встановлення кореневого сертифіката в Linux
Щоб оновити зберігання надійних сертифікатів у Linux, вам потрібен файл сертифікатів у форматі Pem З розширенням файлу .КРТ. Сертифікат PEM - це текстовий файл у форматі Base64, який містить рядок на початку файлу --Почати сертифікат-- і врешті -Кінцевий сертифікат-.
Якщо ваш файл сертифікатів у форматі DER, ви можете перетворити його у формат PEM за допомогою утиліти OpenSSL:
$ opensl x509 -in my_trusted_sub_ca.der -inform der -ut my_trusted_sub_ca.Цер
По -перше, подумайте, як додати кореневий сертифікат вашого CA до розподілу Linux на основі DEB (Ubuntu, Debian, Mint, Kali Linux).
Скопіюйте свої сертифікати в сертифікат сертифікатів у каталозі USR/Local/Share/CA-сертифікація/:
$ Sudo cp my_trusted_sub_ca.CRT/USR/LOCAL/SHARE/CA-Certificates/
$ Sudo cp my_trusted_root_ca.CRT/USR/LOCAL/SHARE/CA-Certificates/
Оновіть сертифікат сертифікатів командою:
$ Sudo update-ca-сертифікації -v
$ Sudo apt-get inst-ca-сертифікат
Якщо сертифікати будуть успішно додані, буде повідомлення про те, що сертифікат копіюється в/etc/ssl/cerets/:
Оновлення сертифікатів в/etc/ssl/ceres ... 2 додано, 9 видалено; Виконаний. Запуск гачків у/etc/ca-сертифікат/оновлення.DВи також можете додати нові сертифікати до сховища за допомогою команди:
$ Sudo dpkg-reconfigure ca-сертифікат
Виберіть сертифікати зі списку, які потрібно додати до довіреного.
Список довірених сертифікатів Linux міститься у файлі/etc/ssl/crts/ca-centixtics.КРТ. Обидві розглянуті вище команди оновлять цей файл та додасть до інформації про нові сертифікати.
Ви можете перевірити, чи були додані ваші сертифікати до довіреної за допомогою команди:
$ Awk -v cmd = "opensl x509 -nout -subject"/start/close (cmd); print | Cmd " < /etc/ssl/certs/ca-certificates.crt | grep -i YourCASubj
Вкажіть частину загальної назви вашого сертифіката замість вашого Casubj для пошуку предмета.
Ви можете переконатися, що ваша ОС довіряє сертифікату за допомогою команди:
$ opensl Перевірте my_trusted_sub_ca.КРТ
Помилка 20 на 0 Пошук глибини: Неможливо отримати помилку сертифіката локального емітента My_trusted_sub_ca.CRT: Помилка перевірки
Тепер перевірте, чи використовується сайт надійного сертифіката SSL за допомогою Curl:
$ Curl -I https: // www.Sberbank.ru
Все нормально, довірений сертифікат Httponly: захистити
.
$ Sudo mkdir/usr/share/ca-сертифікація/додаткові
$ Sudo cp мій.CRT/USR/SHARE/CA-Certificates/Extra/MyCert1.КРТ
$ Sudo vim /etc /ca-сертифікації.Конфігурація
Exta/mycert1.КРТ
$ Sudo update-ca-сертифікації
Щоб видалити сертифікат, видаліть файл CRT:
$ Sudo rm/usr/local/share/ca-сертифікат/youurcert.КРТ
Та оновіть зберігання:
$ Sudo update-ca-сертифікат-свіжий
У розподілі Linux на основі обертів (Centos, Oracle, Rhel, Rocky Linux, Fedora), щоб додати сертифікат до надійного:
- Встановіть пакет CA-Certificates:
# Yum Встановіть ca-сертифікат
- Скопіюйте файл сертифіката в каталог/etc/pki/ca-trust/ourse/inchors/:
# Cp mycert.CRT/etc/pki/ca-trust/джерело/якоря/
- Оновіть зберігання:
# Оновити-CA-довіру-Eenable
# Оновити екстракт-CA-TRUST
Додайте сертифікат довіреного кореня для браузерів Mozilla, Chrome
Тепер усі системні утиліти будуть довіряти сайтам, використовуючи це СА. Але це не вплине на веб -браузери Mozilla Firefox або Google Chrome. Вони все ще покажуть попередження про недовірливий сертифікат.
Справа в тому, що браузери Firefox, Chromium, Google Chrome, Vivaldi і навіть Mozilla Thunderbird не використовують систему зберігання системи Linux. Зберігання сертифікатів для цих програм знаходиться в каталозі користувача у файлі Cert8.ДБ (для Mozilla) або Cert9.ДБ (для хрому та хрому). Для оновлення цих сертифікатів сертифікатів використовується утиліта Certutil з пакету Libnss3-Tools.
Встановіть пакет:
$ Sudo apt Встановіть libnss3-tools
Тепер дотримуйтесь наступних сценаріїв, щоб додати свої сертифікати до зберігання через NSS:
#!/Бін/Баш
certfile = "my_rusted_root_ca.CRT "
certname = "мій корінь ca1"
для CERTDB в $ (знайдено ~/ -name "cert8.db ")
робити
certdir = $ (dirname $ certdb);
certutil -a -n "certname" -t "tcu, cu, tu" -i $ certfile -d dbm: $ certdir
Виконаний
для CERTDB в $ (знайдено ~/ -name "cert9.db ")
робити
certdir = $ (dirname $ certdb);
Certutil -a -n "$ certname" -t "tcu, cu, tu" -i $ certfile -d sql: $ certdir
Виконаний
Після запуску сценарію всі браузери довіряють сайтам цим CAS.