Что такое сертификат в Ubuntu

11.01.2023, 03:01

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

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

Что необходимо?

Как сделать сертификат доверенным в Ubuntu? Можно создать свой центр сертификации CA, используя EasyRSA, создать и подписать SSL сертификат. После использовать этот сертификат для домена localhost в Apache.

Так у вас получится три файла:

ca.crt - корневой сертификат центра сертификации;

localhost.crt - сертификат сайта подписанный центром сертификации;

localhost.key - ключ сертификата сайта.

Активируйте файл виртуального хоста Apache для сайта по умолчанию с помощью такой команды:

sudo a2ensite default-ssl

Далее откройте этот файл и найдите такие строки:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Для параметра SSLCertificateFile надо передать путь к сертификату сайта, например, localhost.crt, а для SSLCertificateKeyFile - ключу сертификата сайта. Например, localhost.key. Если сертификаты находятся в папке /etc/apache/ssl, то конфигуация будет выглядеть вот так:

SSLCertificateFile /etc/apache/ssl/localhost.crt SSLCertificateKeyFile /etc/apache/ssl/localhost.key

После этого нужно перезапустить Apache:

sudo systemctl restart apache2

Теперь у вас всё готово для того чтобы выполнить всё описанное ниже в своей системе.