Featured image of post Установка корневого сертификата Linux

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

Для Ubuntu и CentOS

Для использования защищенного https подключения Linux-серверами установим корневой сертификат. Сгенерировать сертификат, при наличии локального Центра сертификации можно двумя способами.

1 способ генерации сертификата. Через Веб-интерфейс.

Создаём запрос серта на центре сертификации. В адресной строке браузера вводим имя или ip сервера сертификации.

http://<ip_адрес_сервера_сертификации>/certsrv

  • Запрос сертификата
  • Выбираем: Base64

Скачиваем:

Установка в Ubuntu:

Устанавливаем пакет для работы с сертификатами, если его нет:

1
sudo apt-get install -y ca-certificates

Копируем (Например, через WinSCP) сертификат сделанный в первом шаге на Linux-сервер в директорию:

/usr/local/share/ca-certificates/

Переходим в директорию на сервере:

1
sudo cd /usr/local/share/ca-certificates/

Переделываем расширение в .crt, где ca_cert.cer имя вашего сертификата сгенерированного первым способом

1
sudo openssl x509 -inform PEM -in ca_cert.cer -out ca_cert.crt

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

1
sudo update-ca-certificates

После успешной установки появится сообщение, что сертификаты обновлены:

1
2
3
Updating certificates in /etc/ssl/certs…
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d

2 способ генерации сертификата. CMD.

Зайти на сервер корневого центра сертификации. Под администратором открыть консоль cmd

Выполнить команду:

1
certutil -ca.cert ca_name.cer

Полученный текст сертификата скопировать в файл на Linux-сервере:

1
sudo nano /usr/local/share/ca-certificates/ca_cert.crt

Получится текст такого формата:

1
2
3
4
5
---BEGIN CERTIFICATE-----
MIIH/TCCBeWgAwIBAgIQaBYE3/M08XHYCnNVmcFBcjANBgkqhkiG9w0BAQsFADBy
...
F10YlqcOmeX1uFmKbdi/XorGlkCoMF3TDx8rmp9DBiB/
-----END CERTIFICATE-----

Затем выполнить команду:

1
sudo update-ca-certificates

Установка в CentOS

Устанавливаем пакет для работы с сертификатами, если его нет:

1
yum install ca-certificates

Копируем (Например, через WinSCP) сертификат сделанный в первом способе на Linux-сервер в директорию:

1
/etc/pki/ca-trust/source/anchors/

Переходим в директорию на сервере:

1
sudo cd /etc/pki/ca-trust/source/anchors/

Переделываем расширение в .crt, где ca_cert.cer имя вашего сертификата сгенерированного первым способом

1
sudo openssl x509 -inform PEM -in ca_cert.cer -out ca_cert.crt

Устанавливаем в хранилище:

1
2
sudo update-ca-trust force-enable
sudo update-ca-trust extract

! Важно

  • В Linux сертификаты автоматически не устанавливаются в браузеры, и браузеры в десктопном Linux по прежнему будут выдавать ошибку.
  • В данном случае установка сертов используется для curl и python библиотеки request, поэтому этой установки достаточно.

Перекодировка сертификатов

1
2
3
4
5
openssl rsa -in mycert.pem -out mycert.key
openssl x509 -inform DER –in mycert.cer -out mycert.crt
openssl x509 -inform PEM -in mycert.cer -out mycert.crt
openssl pkcs7 -print_certs -in mycert.p7b -out mycert.crt
openssl pkcs7 -print_certs -in mycert.p7b -out mycert.pem
Информацию можно использовать в свободном доступе, с указанием ссылки на сайт
Создано при помощи Hugo
Тема Stack, дизайн Jimmy