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

How to install certificates for command line

So in school we need to install a certificate to access https sites. In firefox, I can import the certificate. However, I can’t do so with the command line. For example, running git push I get:

fatal: unable to access 'https://github.com/user/repo': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none 

How do I import a certificate to remove this? The import must be able to authenticate for me. Also, it is a .cer file, so the answer for .crt will not work. Also, I do not want steps on how to setup git, as I already have. I want to know if it is possible to do that. Or can I just disable authentication with the git command totally and make it ignore certificates like what the answer here says? Also, I do not want the webpage to load, I have set firefox to do that. I want the git push command to give the standard output like:

[master 630d087] message 1 file changed, 93 insertions(+), 80 deletions(-) rewrite somefile (84%) Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 978 bytes | 0 bytes/s, done. Total 5 (delta 2), reused 0 (delta 0) To https://github.com/User/Repo.git 851ae39..630d087 master -> master 

Note: I found out its git config —global http.sslverify false . But I would like to see an answer for everything, not just a git hack

Источник

Добавляем корневой доверенный сертификат в Linux

date

28.09.2022

user

itpro

directory

CentOS, Linux, Ubuntu

comments

комментария 4

В этой статье мы покажем, как добавить (установить) новый сертификат в список доверенных корневых сертификатов в Linux.

Например, вы используете на своем сайте самоподписанный SSL/TLS сертификат и не хотите, чтобы на клиентах при открытии сайта появлялась ошибка SEC_ERROR_UNKNOWN_ISSUER.

недоверенные сертификат в браузере на linux

В данном примере мы установим в Linux корневой сертификат Минцифры (Russian Trusted Sub CA), на базе которого сейчас выпускаются сертификаты для сайтов многих компаний и гос-органов РФ.

Или это может быть самоподписанный сертификат с сайта IIS на Windows.

Чтобы проверить, что ваш хост Linux не может проверить (и соответственно не доверяет) SSL сертификату на определенном сайте, выполните команду:

$ curl –I https://www.sberbank.ru

curl: (60) SSL certificate problem: unable to get local issuer certificate. More details here: https://curl.haxx.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

curl - не могу проверить сертификат

В данном случае нам нужно добавить корневой центр сертификации этого сайта в список доверенных корневых сертификатов Linux.

Читайте также:  Kali linux как установить gnome

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

Для обновления хранилища доверенных сертификатов в Linux вам нужен файл сертификата в формате PEM с расширением файла .crt. PEM сертификат представляет собой текстовый файл в формате base64, который содержит в начале файла строку —-BEGIN CERTIFICATE—- и в конце ——END CERTIFICATE——.

PEM формат сертификата

Если ваш файл сертификата в формате DER, вы можете конвертировать его в PEM формат с помощью утилиты openssl:

$ openssl x509 -in my_trusted_sub_ca.der -inform der -out my_trusted_sub_ca.cer

Сначала рассмотрим, как добавит корневой сертификат вашего CA в доверенные в дистрибутивах Linux на базе DEB (Ubuntu, Debian, Mint, Kali Linux).

Скопируйте файлы ваших сертификаты в хранилище сертификатов в каталог usr/local/share/ca-certificates/:

$ sudo cp my_trusted_sub_ca.crt /usr/local/share/ca-certificates/
$ sudo cp my_trusted_root_ca.crt /usr/local/share/ca-certificates/

Обновите хранилище сертификатов командой:

$ sudo update-ca-certificates -v

$ sudo apt-get install -y ca-certificates

обновить хранилище сертфикатов в linux

Если сертификаты успешно добавлены, появится сообщение о том, что сертфикат скопирован в /etc/ssl/certs/:

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

$ sudo dpkg-reconfigure ca-certificates

Выберите из списка сертификаты, которые нужно добавить в доверенные.

добавить сертификаты в доверенные CA в Linux

В Linux список доверенных сертификатов содержится в файле /etc/ssl/certs/ca-certificates.crt. Обе рассмотренные выше команды обновят этот файл и добавят в информацию о новых сертификатах.

Вы можете проверить, что ваши сертификаты были добавлены в доверенные с помощью команды:

Укажите часть Common Name вашего сертификата вместо YourCASubj для поиска в хранилище по subject.

awk вывести доверенные сертификаты

Вы можете убедиться, что ваша ОС доверяет сертификату с помощью команду:

$ openssl verify my_trusted_sub_ca.crt

openssl verify - проверить доверяет ли linux сертификату

error 20 at 0 depth lookup: unable to get local issuer certificate error my_trusted_sub_ca.crt: verification failed

Теперь проверьте, что на сайте используется доверенный SSL сертификат с помощью curl:

$ curl –I https://www.sberbank.ru

Все ок, сертификат доверенные < HTTPOnly: secure >.

curl проверка ssl сертификата secure

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

Чтобы удалить сертификат, удалите ваш crt файл:

$ sudo rm /usr/local/share/ca-certificates/yourcert.crt

$ sudo update-ca-certificates —fresh

В дистрибутивах Linux на базе RPM (CentOS, Oracle, RHEL, Rocky Linux, Fedora) для добавления сертификата в доверенные:

  1. Установите пакет ca-certificates: # yum install ca-certificates
  2. Скопируйте файл сертификата в каталог /etc/pki/ca-trust/source/anchors/: # cp mycert.crt /etc/pki/ca-trust/source/anchors/
  3. Обновите хранилище:
    # update-ca-trust force-enable
    # update-ca-trust extract

Добавить корневой доверенный сертификат для браузеров Mozilla, Chrome

Теперь все системные утилиты будут доверять сайтам, использующим данный CA. Но это не повлияет на веб браузеры Mozilla Firefox или Google Chrome. Они по-прежнему будут показывать предупреждение о недоверенном сертификате.

Читайте также:  Как сделать виртуальную машину линукс

Дело в том, что браузеры Firefox, Chromium, Google Chrome, Vivaldi и даже почтовый клиент Mozilla Thunderbird не используют системное хранилище сертификатов Linux. Хранилище сертификатов для этих программ находится в директории пользователя в файле cert8.db (для Mozilla) или cert9.db (для Chromium и Chrome). Для обновления этих хранилищ сертификатов используется утилита certutil из пакета libnss3-tools.

$ sudo apt install libnss3-tools

установка libnss3-tools

Теперь выполните следующие скрипты для добавления ваших сертификатов в хранилище через NSS:

#!/bin/bash
certfile=»my_rusted_root_ca.crt»
certname=»My Root CA1″
for certDB in $(find ~/ -name «cert8.db»)
do
certdir=$(dirname $);
certutil -A -n «$» -t «TCu,Cu,Tu» -i $ -d dbm:$
done
for certDB in $(find ~/ -name «cert9.db»)
do
certdir=$(dirname $);
certutil -A -n «$» -t «TCu,Cu,Tu» -i $ -d sql:$
done

После запуска скрипта, сайтам с данным CA будут доверять все браузеры.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Записки IT специалиста

Установка российских корневых сертификатов в Debian и Ubuntu

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

Кроме того, современные алгоритмы шифрования используют одноразовые сеансовые ключи, формируемые с использованием протокола Диффи — Хеллмана, что не позволяет расшифровать сессию даже имея на руках закрытый ключ. Поэтому беспокоиться не стоит, это просто один из множества корневых сертификатов, установленных в вашей системе. Просто большинство из них входит в состав ОС и при этом регулярно обновляется, просто этот процесс скрыт от глаз пользователя.

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

Прежде всего скачаем сами сертификаты, для этого перейдем в домашнюю директорию:

wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt

Это официальные ссылки для скачивания сертификатов с портала Госуслуг.

Читайте также:  Unpacking tar gz in linux

Затем повысим права до суперпользователя:

В Debian, если не установлен sudo, используйте:

Затем создадим директорию:

mkdir /usr/local/share/ca-certificates/russian_trusted

И скопируем в нее сертификаты:

cp russian_trusted_root_ca_pem.crt russian_trusted_sub_ca_pem.crt /usr/local/share/ca-certificates/russian_trusted

Затем установим их командой:

Ключ -v указывает вывести на экран подробности выполнения команды. В выводе можно увидеть, что нужные сертификаты были установлены.

install-RU-CA-certificates-linux-001.png

Теперь можем проверить, что система доверяет сертификатам выпущенным данным УЦ, для этого попробуем соединиться с сайтом Сбербанка, который одним из первых перешел на отечественные сертификаты:

wget -qS --spider --max-redirect=0 https://www.sberbank.ru

Если вы увидите следующий вывод, то все в порядке:

install-RU-CA-certificates-linux-002.png

Часть строки HttpOnly; secure указывает на то, что мы успешно установили защищенное соединение с сайтом.

Установка сертификатов в Mozilla Firefox

Браузер Mozilla Firefox не использует системное хранилище сертификатов, поэтому если мы хотим работать с такими сайтами с его помощью, то нам нужно добавить сертификат в хранилище браузера. Для этого перейдите Настройки — Приватность и защита — Сертификаты — Просмотр сертификатов и на закладке Центры сертификации выполните импорт скачанных сертификатов.

install-RU-CA-certificates-linux-003.png

Теперь проблем в этом браузере не возникнет, для проверки посетим тот же сайт Сбербанка.

install-RU-CA-certificates-linux-004.png

На приведенном скриншоте видно, что сайт действительно использует сертификат от Минцифры, также обратите внимание на аббревиатуру ECDHE ниже, которая обозначает, что используются несохраняемые одноразовые сеансовые ключи на основе протокола Диффи-Хеллмана на эллиптических кривых.

Установка сертификатов в Chromium и основанные на нем браузеры

Также, как и Firefoх, Chromium и основанные на нем браузеры не используют системное хранилище и требуют отдельной установки сертификатов. Мы будем рассматривать установку на примере Chromium, в других браузерах путь к настройкам может отличаться. Переходим в Настройки — Конфиденциальность и безопасность — Безопасность — Настроить сертификаты. Затем на закладке Центры сертификации производим импорт сертификатов.

install-RU-CA-certificates-linux-005.png

Затем точно также можем посетить сайт Сбербанка и убедиться, что сертификаты установлены успешно.

install-RU-CA-certificates-linux-006.png

Как видим, установить российские корневые сертификаты в Linux достаточно несложно. При этом вам не обязательно устанавливать их во все хранилища, можно обойтись только необходимыми, исходя из рабочих потребностей.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Оцените статью
Adblock
detector