Linux add trusted cert

Adding trusted root certificates to the server

If you want to send or receive messages signed by root authorities and these authorities are not installed on the server, you must add a trusted root certificate A certificate issued by a trusted certificate authority (CA). In the SSL, anyone can generate a signing key and sign a new certificate. manually.

Use the following steps to add or remove trusted root certificates to/from a server.

Mac OS X

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/new-root-certificate.crt

Windows

certutil -addstore -f «ROOT» new-root-certificate.crt

certutil -delstore «ROOT» serial-number-hex

Linux (Ubuntu, Debian)

Restart Kerio Connect to reload the certificates in the 32-bit versions or Debian 7.

Linux (CentOs 6)

Restart Kerio Connect to reload the certificates in the 32-bit version.

Linux (CentOs 5)

Append your trusted certificate to file /etc/pki/tls/certs/ca-bundle.crt

cat foo.crt >>/etc/pki/tls/certs/ca-bundle.crt

Restart Kerio Connect to reload the certificates in the 32-bit version.

  • SSL Certificates
    • Configuring SSL certificates in Kerio Connect
    • Adding trusted root certificates to the server
    • Configure OS X to use self-signed SSL certificate
    • Import a private key protected by a pass phrase
    • Re-issue my SSL certificate
    • Renew an expired SSL certificate
    • Enable SSLv2 support
    • Making SSL certificates trusted in Safari
    • Self-signed certificates in Mozilla Thunderbird
    • Transfer certificate from IIS

    Источник

    Добавляем корневой доверенный сертификат в 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.

    Установка корневого сертификата в 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 будут доверять все браузеры.

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

    Источник

    Adding Trusted Root Certificates on Linux

    This article will explain how to add (install) a new certificate to the trusted root certificate list on Linux.

    SEC_ERROR_UNKNOWN_ISSUER error on browser

    Let’s say you are using a self-signed SSL/TLS certificate but don’t want to get SEC_ERROR_UNKNOWN_ISSUER error on the client browser whenever your site is opened.

    In this example, we will install a self-signed certificate from an IIS website running on a Windows Server.

    To check if your Linux host cannot verify (and therefore does not trust) the SSL certificate on a certain site, run the following command:

    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.

    Validate website certificate using cURL

    In this case, we need to add this website’s Root CA to the list of trusted certificates on Linux.

    How to Install the Root Certificate in the Trust Store on Linux?

    If you want to update your trusted certificate store on Linux, the first thing you need is the certificate’s PEM file with an *.CRT extension. A PEM certificate s a text file in base64 format that starts with the line —-BEGIN CERTIFICATE— – and ends with ——END CERTIFICATE—— .

    PEM (X. 509 certificate) file with .CRT extension

    If you have your certificate’s file stored in DER format, you can convert it into PEM using the openssl command:

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

    Now let’s see how you can add your CA root certificate to the trust list in DEB-based Linux distros (Ubuntu, Debian, Mint, Kali Linux, etc.).

    First, copy your certificate files to the certificate store folder (/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/

    Update the certificate store using the command:

    $ sudo update-ca-certificates -v

    $ sudo apt-get install -y ca-certificates

    update-ca-certificates - updates the directory /etc/ssl/certs to hold SSL certificates and generates ca-certificates.crt

    If the certificates have been successfully added, you will see a message saying that the certificate has been copied to /etc/ssl/certs/:

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

    $ sudo dpkg-reconfigure ca-certificates

    Check out the list of certificates and select the ones you want to add to the trusted ones.

    dpkg-reconfigure ca-certificates

    On Linux, the list of trusted certificates is stored in the file /etc/ssl/certs/ca-certificates.crt. Both of the above commands will update this file and add information about the new certificates.

    Use the following command to make sure that your certificates have been added to the trust list:

    Specify the Common Name part of your certificate instead of YourCASubj to search the store by subject.

    list trusted certificates linux

    You can see if your OS trusts the certificate by using the command:

    $ openssl verify my_trusted_sub_ca.crt

    openssl verify certificate chain

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

    You can use curl to ensure that the site uses a trusted SSL certificate:

    Everything is alright, the certificate is trusted < HTTPOnly: secure >.

    check for trusted ssl connection with curl on linux

    $ sudo mkdir /usr/share/ca-certificates/extra
    $ sudo cp my.crt /usr/share/ca-certificates/extra/mycert1.crt
    $ sudo vim /etc/ca-certificates.conf

    To remove the certificate from the trusted list, simply delete your .crt file:

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

    $ sudo update-ca-certificates —fresh

    To add a certificate to the trust list on RPM-based Linux distros (CentOS, Oracle, RHEL, Rocky Linux, Fedora), use the following procedure:

    1. Instal the ca-certificates package: # yum install ca-certificates
    2. Copy the certificate file to /etc/pki/ca-trust/source/anchors/: # cp mycert.crt /etc/pki/ca-trust/source/anchors/
    3. Update the certificate trusted store:
      # update-ca-trust force-enable
      # update-ca-trust extract

    Adding a Trusted CA Certificate to Chrome and Firefox

    After performing the above steps, all system tools will trust websites that use this CA. However, this will not affect the Mozilla Firefox or Google Chrome web browsers, as they will still show a warning message about the untrusted certificate.

    The thing is that Firefox, Chromium, Google Chrome, Vivaldi, and even Mozilla Thunderbird e-mail client don’t use the Linux system certificate store. The certificate store for these programs can be found in the user’s directory in the cert8.db (for Mozilla) or cert9.db file (for Chromium and Chrome). To update these certificate stores, you can use the certutil tool from the libnss3-tools package.

    First, install the package:

    $ sudo apt install libnss3-tools

    install libnss3-tools on linux

    Now run the following bash script to add your certificates to the store via 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

    Once that’s done, websites with the given CA will be trusted by all browsers.

    Источник

    Читайте также:  Как поставить два линукса
Оцените статью
Adblock
detector