Как установить корневой сертификат?

Как установить корневой сертификат?

Может ли кто-нибудь подсказать мне хорошее руководство по установке корневого сертификата в Ubuntu?

Мне предоставили файл .crt. Я понял, что нужно создать каталог /usr/share/ca-certificates/newdomain.orgи поместить .crt в него. Дальше я не уверен, как действовать.

решение1

Имея файл сертификата CA foo.crt, выполните следующие действия, чтобы установить его в Ubuntu:

  1. Создайте каталог для дополнительных сертификатов CA в /usr/local/share/ca-certificates:

    sudo mkdir /usr/local/share/ca-certificates/extra
    
  2. Скопируйте файл CA .crtв этот каталог:

    sudo cp foo.crt /usr/local/share/ca-certificates/extra/foo.crt
    
  3. Позвольте 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, вы можете сделать следующее:

  1. Создайте каталог для дополнительных сертификатов CA в /usr/share/ca-certificates:

     sudo mkdir /usr/share/ca-certificates/extra
    
  2. Скопируйте файл .crt в этот каталог:

     sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Добавьте строку к /etc/ca-certificates.confusing <folder name>/<.crt name>:

     echo "extra/foo.crt" | sudo tee -a /etc/ca-certificates.conf
    
  4. Обновление сертификатовнеинтерактивнос помощью 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 

Связанный контент