Linux import root certificate

Installing a root CA certificate in the trust store

Enterprise environments sometimes have a local Certificate Authority (CA) that issues certificates for use within the organization. For an Ubuntu server to be functional and trust the hosts in this environment this CA must be installed in Ubuntu’s trust store.

How to recognize the form (PEM or DER)?

To install a certificate in the trust store it must be in PEM form. A PEM-formatted certificate is human-readable in base64 format, and starts with the lines —-BEGIN CERTIFICATE—- . If you see these lines, you’re ready to install. If not, it is most likely a DER certificate and needs to be converted.

Installing a certificate in PEM form

Assuming a PEM-formatted root CA certificate is in local-ca.crt , follow the steps below to install it.

Note: It is important to have the .crt extension on the file, otherwise it will not be processed.

$ sudo apt-get install -y ca-certificates $ sudo cp local-ca.crt /usr/local/share/ca-certificates $ sudo update-ca-certificates 

After this point you can use Ubuntu’s tools like curl and wget to connect to local sites.

Converting from DER-form to PEM-form

Convert a DER-formatted certificate called local-ca.der to PEM form like this:
$ sudo openssl x509 -inform der -outform pem -in local-ca.der -out local-ca.crt

The CA trust store location

The CA trust store as generated by update-ca-certificates is available at the following locations:

  • As a single file (PEM bundle) in /etc/ssl/certs/ca-certificates.crt
  • As an OpenSSL compatible certificate directory in /etc/ssl/certs

Источник

Записки IT специалиста

Установка российских корневых сертификатов в Debian и Ubuntu

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

Читайте также:  Wordpress linux or windows

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

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

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

Установка сертификатов в системное хранилище

Прежде всего скачаем сами сертификаты, для этого перейдем в домашнюю директорию:

wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt

Это официальные ссылки для скачивания сертификатов с портала Госуслуг.

Затем повысим права до суперпользователя:

В Debian, если не установлен sudo, используйте:

Затем создадим директорию:

mkdir /usr/local/share/ca-certificates/russian_trusted

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

cp russian_trusted_root_ca_pem.crt russian_trusted_sub_ca_pem.crt /usr/local/share/ca-certificates/russian_trusted

Затем установим их командой:

Ключ -v указывает вывести на экран подробности выполнения команды. В выводе можно увидеть, что нужные сертификаты были установлены.

install-RU-CA-certificates-linux-001.png

Теперь можем проверить, что система доверяет сертификатам выпущенным данным УЦ, для этого попробуем соединиться с сайтом Сбербанка, который одним из первых перешел на отечественные сертификаты:

wget -qS --spider --max-redirect=0 https://www.sberbank.ru

Если вы увидите следующий вывод, то все в порядке:

install-RU-CA-certificates-linux-002.png

Часть строки HttpOnly; secure указывает на то, что мы успешно установили защищенное соединение с сайтом.

Установка сертификатов в Mozilla Firefox

Браузер Mozilla Firefox не использует системное хранилище сертификатов, поэтому если мы хотим работать с такими сайтами с его помощью, то нам нужно добавить сертификат в хранилище браузера. Для этого перейдите Настройки — Приватность и защита — Сертификаты — Просмотр сертификатов и на закладке Центры сертификации выполните импорт скачанных сертификатов.

install-RU-CA-certificates-linux-003.png

Теперь проблем в этом браузере не возникнет, для проверки посетим тот же сайт Сбербанка.

install-RU-CA-certificates-linux-004.png

На приведенном скриншоте видно, что сайт действительно использует сертификат от Минцифры, также обратите внимание на аббревиатуру ECDHE ниже, которая обозначает, что используются несохраняемые одноразовые сеансовые ключи на основе протокола Диффи-Хеллмана на эллиптических кривых.

Читайте также:  Microsoft fonts linux fedora

Установка сертификатов в Chromium и основанные на нем браузеры

Также, как и Firefoх, Chromium и основанные на нем браузеры не используют системное хранилище и требуют отдельной установки сертификатов. Мы будем рассматривать установку на примере Chromium, в других браузерах путь к настройкам может отличаться. Переходим в Настройки — Конфиденциальность и безопасность — Безопасность — Настроить сертификаты. Затем на закладке Центры сертификации производим импорт сертификатов.

install-RU-CA-certificates-linux-005.png

Затем точно также можем посетить сайт Сбербанка и убедиться, что сертификаты установлены успешно.

install-RU-CA-certificates-linux-006.png

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

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

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

How to import CA root certificates on Linux and Windows

In most cases running an own CA (certification authority) is not advisable. But there are exceptions: If you want to secure internal services of your company, using your own CA might be necessary. During my employment at ADITO Software GmbH I created a tool for X.509 certificate management. The root certificate of my tool had to be imported into every PC of the company. Unfortunately there are some pitfalls which I did not expect, but after some research I figured out how to import the new CA to Linux- and Windows PCs and to every major webbrowser.

In the following text root.cert.pem is the root certificate file.

Linux

System (Debian / Ubuntu)

Installing the root certificate on a Linux PC is straight forward:

sudo mkdir /usr/local/share/ca-certificates/extra sudo cp root.cert.pem /usr/local/share/ca-certificates/extra/root.cert.crt sudo update-ca-certificates 

After these steps the new CA is known by system utilities like curl and get. Unfortunately, this does not affect most web browsers like Mozilla Firefox or Google Chrome.

System (Fedora)

Setup on Fedora Linux is a bit different:

sudo cp root.cert.pem /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust 

Browser (Firefox, Chromium, …)

Manual setup of your certificate is also possible via GUI, e.g. in Firefox: “Settings” => “Privacy and Security” => “Show certificates” => “Certificate authorities” => “Import” (Similar in Chromium)

Web browsers like Firefox, Chromium, Google Chrome, Vivaldi and even e-mail clients like Mozilla Thunderbird don’t make use of the OS trust store, but use their own certificate trust store. These trust stores are files in the user directory, named “cert8.db” and “cert9.db” (for newer versions). You can modify the trust store files by using the “certutil” tool. To install certutil, execute the following apt command:

sudo apt install libnss3-tools 

This little helper script finds trust store databases and imports the new root certificate into them.

#!/bin/bash ### Script installs root.cert.pem to certificate trust store of applications using NSS ### (e.g. Firefox, Thunderbird, Chromium) ### Mozilla uses cert8, Chromium and Chrome use cert9 ### ### Requirement: apt install libnss3-tools ### ### ### CA file to install (CUSTOMIZE!) ### certfile="root.cert.pem" certname="My Root CA" ### ### For cert8 (legacy - DBM) ### for certDB in $(find ~/ -name "cert8.db") do certdir=$(dirname $); certutil -A -n "$" -t "TCu,Cu,Tu" -i $ -d dbm:$ done ### ### For cert9 (SQL) ### for certDB in $(find ~/ -name "cert9.db") do certdir=$(dirname $); certutil -A -n "$" -t "TCu,Cu,Tu" -i $ -d sql:$ done 

After execution of this script your root CA should be known to Firefox, Chrome, Chromium, Vivaldy and other browsers.

Читайте также:  Crontab linux раз в день

Windows

System

New root certificates can easily be imported into Windows via Active Directory. However, if you do not have Active Directory enabled on your Windows machines, this is how you manually import your certificate:

Change your certificate’s file name extension from .pem to .crt and open the file. Then select “Install certificate” => “Local machine” and browse the certificate store. Your certificate should be installed into “Trusted Root Certification Authorities”.

On Windows most webbrowsers and other applications use the OS trust store, so Google Chrome and Vivaldi should accept your certificates instantly. However, Firefox needs special treatment ..

Mozilla Firefox

Like on Linux platforms, Firefox uses its own certificate trust store. You can manually import your root certificate via the Firefox settings, or force Firefox to use the Windows trust store:

Create a new Javascript file firefox-windows-truststore.js at C:\Program Files (x86)\Mozilla Firefox\defaults\pref with the following content:

/* Enable experimental Windows trust store support */ pref("security.enterprise_roots.enabled", true); 

Firefox should know your CA after a browser restart.

Источник

Оцените статью
Adblock
detector