Ссылки:
https://qastack.ru/server/511812/how-does-one-install-a-custom-ca-certificate-on-centos https://qastack.ru/unix/90450/adding-a-self-signed-certificate-to-the-trusted-list https://qastack.ru/superuser/742393/how-to-use-curl-to-verify-if-a-sites-certificate-has-been-revoked https://help.ubuntu.ru/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C/certificates https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-a-certificate-authority-ca-on-ubuntu-20-04-ru
openssl
openssl x509 -noout -text -in filename.crt - просмотр сертификата openssl rsa -noout -text -in filename.key - просмотр ключа openssl req -noout -text -in filename.csr - просмотр CSR openssl genrsa -out private.key 2048 - генерация ключа openssl req -new -key private.key -out filename.csr - генерация CSR openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout ./domain.key -out ./domain.crt - генерация само подписанного сертификата openssl s_client -servername ИМЯ -connect ХОСТ:ПОРТ - проверка установленного на web-сервер сертификата
openssl цепочки \ выгрузка \ конвертация
Первый вариант выгрузка цепочки: openssl s_client -connect {HOSTNAME}:{PORT} -showcerts Второй вариант выгрузка цепочки: openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com host.name.com.pem Конвертация в x509 для desktop: penssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer
Проверка:
Вариант первый: curl https://you_problem_site Второй вариант: openssl s_client -connect you_problem_site:443 Третий вариант: strace curl https://www.google.com -v Четвертый вариант: curl -L -v -s https://www.google.de 1>/dev/null Выгрузить цепочку сертификатов: openssl s_client -connect {HOSTNAME}:{PORT} -showcerts
CentOS
!!! update-ca-trust enable - по умолчанию включено 0. Выкладываем файл цепочки cert в каталог: /etc/pki/ca-trust/source/anchors/ - для получения высокого приоритета (без переопределения) 1. Обновляем системное хранилище update-ca-trust extract
Debian
!!! apt-get install ca-certificates !!! dpkg-reconfigure ca-certificates 0. Выкладываем файл цепочки cert в каталог: !!! ВНИМАНИЕ РАШИРЕНИЕ У ФАЙЛА ДОЛЖНО БЫТЬ "crt" , "name.crt" /usr/local/share/ca-certificates/ 1. Обновляем системное хранилище update-ca-certificates
Ubuntu 16.04 \ Let’s Encrypt срок действия DST Root CA X3 подходит к концу 30 сентября 2021 14:01:15 GMT
Ссылки: https://habr.com/ru/post/580092/ https://medium.com/@brunoosiek/updating-openssl-latest-and-greatest-version-in-ubuntu-18-04-8f10ba4e2377 Что можно сделать: 0. Копируем себе корневой сертификат ISRG_Root_X1.crt: curl -k https://letsencrypt.org/certs/isrgrootx1.pem.txt | sudo tee /usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt 1. Добавить в файл /etc/ca-certificates.conf строчку: mozilla/ISRG_Root_X1.crt 2. В файле /etc/ca-certificates.conf нужно найти строчку mozilla/DST_Root_CA_X3.crt и изменить на: !mozilla/DST_Root_CA_X3.crt 3. Применить update-ca-certificates 4. Проверка: faketime -f '@2021-10-01 00:00:00' curl https://letsencrypt.org/ Как обновить openssl на ubuntu 16.04 до 1.1.1 Устанавливаем: mkdir /opt/openssl cd /opt/openssl ## wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1m.tar.gz - не проверять сертификат сервера wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz tar -xvf openssl-1.1.1g.tar.gz sudo ./config --prefix=/opt/openssl --openssldir=/opt/openssl/ssl sudo make sudo make install mv /usr/bin/openssl /usr/bin/openssl.old ln -s /opt/openssl/bin/openssl /usr/bin/openssl Правим файл: vim /etc/ld.so.conf.d/openssl.conf ----------------------------------- /opt/openssl/lib ----------------------------------- Применяем / загружаем библиотеки: sudo ldconfig Проверяем: which openssl openssl version openssl Сертификаты: sudo ln -s /etc/ssl/certs/*.* /opt/openssl/ssl/certs/
Установка для веб сервера
https://knowledge.digicert.com/quovadis/ssl-certificates/ssl-installation/how-do-i-install-an-ssl-certificate-into-nginx.html !!! Обычно присылаю четыре файла !!! Сертификат .crt !!! Промежуточный / intermediate .crt !!! root .crt !!! Приватный ключ key-5.txt !!! Сертификаты (.cert) нужно собрать в файл -----BEGIN CERTIFICATE----------END CERTIFICATE----- -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
Пример конфигурации nginx
server { server_name your_domain_name; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/certificate_bundle.crt; ssl_certificate_key /usr/local/nginx/conf/your_private_key.key; }
p12
Генерируем приватный ключ(key) и сертификат(pem) openssl req -new -x509 -days 4000 -keyout server.key -out server.pem Убираем пароль с приватного ключа openssl rsa -in server.key.orig -out server.key Генерируем p12 openssl pkcs12 -export -in server.pem -inkey server.key -out server.p12 -name hawkbit