Як встановити кореневий сертифікат?


223

Чи може хтось вказати мені на гарний підручник із встановлення кореневого сертифіката на ubuntu 10 чи 11?

Мені надали .crtфайл. Я знаю, що потрібно створити каталог /usr/share/ca-certificates/newdomain.orgі розмістити його .crt в цьому каталозі. Крім того, я не знаю, як діяти далі.


19
Якщо хтось тут приземляється із файлом cer замість crt, вони - те саме (лише з іншим розширенням). Ви повинні мати змогу дотримуватися цих відповідей і просто замінити ім’я файлу.
Олі

Btw: для зручного способу отримання сертифікатів CA з командного рядка, дивіться тут , на сервері за замовчуванням.
Френк Нокк

Відповіді:


297

Встановлення root / CA Certificate

Давши файл сертифіката CA foo.crt, виконайте наступні дії, щоб встановити його на Ubuntu:

  1. Створіть каталог для додаткових сертифікатів CA у /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Скопіюйте .crtфайл CA в цей каталог:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Нехай Ubuntu додати в .crtшлях файлу щодо /usr/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

54
Як щодо використання /usr/local/share/ca-certificates(локального!) Замість використання керованого директивного управління системним пакетом?
gertvdijk

6
Зауважте, що Firefox (а може і якесь інше програмне забезпечення) не використовує загальносистемні сертифікати, але має власне сховище сертифікатів: askubuntu.com/a/248326/79344 .
Амір Алі Акбарі

12
Зауважте, що файл повинен бути у форматі PEM і мати розширення ".crt".
Антон

2
sudo dpkg-reconfigure ca-certificatesДякую, інший sudo update-ca-certificates --freshне працював 16.10.
антивіртел

7
Команда openssl x509 -in foo.pem -inform PEM -out foo.crtкопіює файл PEM у файл PEM. Це можна зробити простіше шляхом перейменування.
Мар’ян

190

Давши файл сертифіката CA 'foo.crt', виконайте наступні кроки, щоб встановити його на Ubuntu:

По-перше, скопіюйте свій КА на реж /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.

Для редагування файл не потрібен. Посилання на ваш КА створюється автоматично.

Зверніть увагу, що назви файлів сертифікатів повинні закінчуватися .crt, інакше update-ca-certificatesсценарій не буде вибиратись із них.

Ця процедура працює також у новіших версіях: посібниках .


1
це, здається, не працює в надійному tahr 14.04
mcantsin

25
Зауважте, що, на відміну від додавання до / usr / share / ca-сертифікатів, це, здається, працює лише в тому випадку, якщо вони безпосередньо в / usr / local / share / ca-сертифікати, а не в підкаталозі. +1 за використання локальної папки замість системної папки!
Toby J

2
Це задокументовано в README.Debian .
певік

1
@ Sparky1, Це має бути прийнятою відповіддю.
Дрю Шапін

1
@FranklinYu дякую :) Debian перейшов з Еліота до Сальси, це також спрацювало б: salsa.debian.org/debian/ca-certificate/raw/master/debian/… , але джерела.debian.org краще.
pevik

7

Встановіть сертифікат на Ubuntu

Я перевірив це на Ubuntu 14.04.

Ось моє рішення, я довго і дивився і шукав, намагаючись зрозуміти, як змусити це працювати.

  1. Витягніть .cer з браузера. Я використовував IE 11.
    • Налаштування -> Параметри Інтернету -> Органи проміжних сертифікатів
    • Виберіть орган сертифікації, який ви хочете експортувати ( certutil -config - -pingпокаже вам ті, які ви використовуєте, якщо ви стоїте за корпоративним проксі)
    • Експорт -> Виберіть формат, який ви хочете використовувати: DER Encoded .cer
  2. Отримати файли .cer якось у Ubuntu
  3. Перетворити в .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Складіть додатковий каталог sudo mkdir /usr/share/ca-certificates/extra
  5. Скопіюйте сертифікати sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Якщо ні, то ви повинні робити те, що я зробив, ідіть до sudo nano /etc/ca-certificates.conf
  8. Прокрутіть униз і знайдіть свій .cer та видаліть !з нього перед іменем файлу (update-ca-сертифікати doc) - якщо ви не знайдете запуск сертифікатаdpkg-reconfigure ca-certificates
  9. Біжи sudo update-ca-certificates
  10. Можливо, вам доведеться індивідуально довіряти ЦС від Firefox, Chrome та ін.

1
це працює в 16.04?
ендоліт

@endolith працював на мене в 16.04.
Шубхем,

4

Інші відповіді не працювали для мене з Ubuntu 18.04. Додайте сертифікат cert до /etc/ssl/certs/ca-certificates.crtтакої команди:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
2 години возитися з командами імпорту, перш ніж я це знайшов. Ідеально!
beirtipol

Команда не так, остаточний sвідсутня: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Дякую за це рішення.
SommerEngineering

Примітка. Це тимчасове рішення, оскільки доданий сертифікат буде видалено після запуску update-ca-certificates.
kenorb

3

Майте сертифікат (root / CA) на веб-сервері, локальному для вашої мережі, якщо хочете.

  • Перегляньте його за допомогою Firefox.
  • Відкрийте сертифікат і скажіть Firefox додати його як виняток.
  • Firefox запитає вас, чи бажаєте ви довіряти цьому сертифікату для виявлення веб-сайтів, користувачів електронної пошти чи видавців програмного забезпечення.
  • Насолоджуйтесь!

Оновлення: потрібно буде перевірити, чи працює це на Ubuntu 11. Я зрозумів, що я це робив на Ubuntu 12.04 LTS.


5
не має Firefox власного контейнера сертифікатів? Якби додати сертифікат таким чином, просто Firefox зможе ним користуватися, чи не так?
Aiyion.Prime

Це зовсім не працює, вам все одно доведеться додавати його до глобального контейнера cert ОС, інакше він буде лише у контейнері Firefox.
arc_lupus

1

Від сюди :

Встановлення сертифіката

Ви можете встановити файл ключа example.key та файл сертифікату example.crt або файл сертифіката, виданий вашим ЦА, виконавши наступні команди у вікні терміналу:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Тепер просто налаштуйте будь-які програми з можливістю використання криптографії з відкритим ключем, для використання сертифікатів та файлів ключів. Наприклад, Apache може надавати HTTPS, Dovecot може надавати IMAPS і POP3S тощо.


Треба було б прочитати уважніше ... Схоже, це не для кореневих сертифікатів. На цій сторінці, на яку я посилався, є інформація про кореневі сертифікати, яка може бути корисною.
jat255

1
У мене немає відкритого ключа та приватного ключа, у мене просто є .crt, тому, на жаль, ця інструкція, схоже, не застосовується.
Sparky1

0

Додати сертифікат Root CA у FireFox зараз дуже легко. Просто відкрийте налаштування, перейдіть до розділу "Конфіденційність та безпека", прокрутіть униз до "Сертифікати" та натисніть "Переглянути сертифікати ...". Тут ви можете натиснути "Імпортувати сертифікат". Наведіть на свій кореневий CA (.pem) та OK. Це все, шановні.


0

Ось прості кроки:

  1. Встановіть сертифікати CA, щоб дозволити програмам на основі SSL перевіряти справжність з'єднань SSL:

    sudo apt-get install ca-certificates
    
  2. Скопіюйте файл ( crtабо.cer ) сертифікатів у /usr/local/share/ca-certificates/папку, наприклад:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Для файлу PEM див.: Перетворення .pem у .crt та .key .

    При необхідності, якщо використовується проксі-сервер Charles, ця команда може працювати:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Оновити сертифікати:

    sudo update-ca-certificates
    

    Команда оновить /etc/ssl/certsкаталог для зберігання SSL-сертифікатів та генерує ca-certificates.crtфайл (об'єднаний однофайловий список сертифікатів).

    Примітка. Не додайте сертифікати вручну (як тут пропонується ), оскільки вони не є стійкими і їх буде видалено.

Примітка. Якщо ви працюєте як root, ви можете відмовитись sudoвід наведених вище команд.


0

Уточнення між 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-сертифікати:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Скопіюйте .crt файл у цей каталог:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Додайте рядок до /etc/ca-certificates.confвикористання <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Оновіть сертифікати неінтерактивно за допомогою sudo update-ca-сертифікатів

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

Веселіться!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.