
Может ли кто-нибудь подсказать мне хорошее руководство по установке корневого сертификата в Ubuntu?
Мне предоставили файл .crt
. Я понял, что нужно создать каталог /usr/share/ca-certificates/newdomain.org
и поместить .crt
в него. Дальше я не уверен, как действовать.
решение1
Имея файл сертификата CA foo.crt
, выполните следующие действия, чтобы установить его в Ubuntu:
Создайте каталог для дополнительных сертификатов CA в
/usr/local/share/ca-certificates
:sudo mkdir /usr/local/share/ca-certificates/extra
Скопируйте файл CA
.crt
в этот каталог:sudo cp foo.crt /usr/local/share/ca-certificates/extra/foo.crt
Позвольте Ubuntu добавить путь к
.crt
файлу относительно/usr/local/share/ca-certificates
:/etc/ca-certificates.conf
sudo dpkg-reconfigure ca-certificates
Чтобы сделать это неинтерактивно, выполните:
sudo update-ca-certificates
В случае .pem
файла в Ubuntu его необходимо сначала преобразовать в .crt
файл:
openssl x509 -in foo.pem -inform PEM -out foo.crt
Или .cer
файл можно преобразовать в .crt
файл:
openssl x509 -inform DER -in foo.cer -out foo.crt
решение2
Имея файл сертификата CA «foo.crt», выполните следующие действия, чтобы установить его в Ubuntu:
Сначала скопируйте ваш CA в каталог/usr/local/share/ca-certificates/
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
затем обновите хранилище CA
sudo update-ca-certificates
Вот и все. Вы должны получить такой вывод:
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.
Файл для редактирования не нужен. Ссылка на ваш CA создается автоматически.
Обратите внимание, что имена файлов сертификатов должны заканчиваться на .crt
, в противном случае update-ca-certificates
скрипт их не обнаружит.
Эта процедура работает и в более новых версиях:руководства.
решение3
Разъяснение между update-ca-certificates
и, dpkg-reconfigure ca-certificates
и почему одно работает, а другое нет!!
update-ca-certificates
илиsudo update-ca-certificates
будет работать толькоесли/etc/ca-certificates.conf
был обновлен./etc/ca-certificate.conf
обновляется толькопосле запускаdpkg-reconfigure ca-certificates
которого обновляются имена сертификатов, которые необходимо импортировать в/etc/ca-certificates.conf
.
Об этом говорится в заголовке файла /etc/ca-certificates.conf
:
# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates. <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...
Как вы можете видеть, формат /etc/ca-certificates.conf
в<folder name>/<.crt name>
Итак, чтобы использовать update-ca-certificates
или sudo update-ca-certificates
импортировать .crt, вы можете сделать следующее:
Создайте каталог для дополнительных сертификатов CA в /usr/share/ca-certificates:
sudo mkdir /usr/share/ca-certificates/extra
Скопируйте файл .crt в этот каталог:
sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
Добавьте строку к
/etc/ca-certificates.conf
using<folder name>/<.crt name>
:echo "extra/foo.crt" | sudo tee -a /etc/ca-certificates.conf
Обновление сертификатовнеинтерактивнос помощью sudo update-ca-certificates
$ sudo update-ca-certificates ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
решение4
Другие ответы не сработали для меня с Ubuntu 18.04. Добавьте сертификат cert с /etc/ssl/certs/ca-certificates.crt
помощью следующей команды:
cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt