Ссылки:
1 2 3 4 5 |
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
1 2 3 4 5 6 7 |
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 цепочки \ выгрузка \ конвертация
1 2 3 4 5 6 7 8 |
Первый вариант выгрузка цепочки: openssl s_client -connect {HOSTNAME}:{PORT} -showcerts Второй вариант выгрузка цепочки: openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > host.name.com.pem Конвертация в x509 для desktop: penssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer |
Проверка:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Вариант первый: 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
1 2 3 4 5 6 |
!!! update-ca-trust enable - по умолчанию включено 0. Выкладываем файл цепочки cert в каталог: /etc/pki/ca-trust/source/anchors/ - для получения высокого приоритета (без переопределения) 1. Обновляем системное хранилище update-ca-trust extract |
Debian
1 2 3 4 5 6 7 8 9 |
!!! 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
Ссылки: 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/ |
Установка для веб сервера
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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----- <The contents of your SSL certificate> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <The contents of the QuoVadis Global SSL ICA G2> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <The contents of the QuoVadis Root CA 2> -----END CERTIFICATE----- |
Пример конфигурации nginx
1 2 3 4 5 6 7 |
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
1 2 3 4 5 6 7 8 |
Генерируем приватный ключ(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 |