Полезные команды#

Запрос на сертификат (CSR)#

openssl req \
  -nodes \
  -newkey rsa:2048 \
  -keyout private.key \
  -out example.com.csr \
  -subj "/C=RU/ST=Moscow/L=Moscow/O=PHP-Development/OU=IT Department/CN=example.com"

Tip

То же одной строкой:

openssl req -nodes -newkey rsa:2048 -keyout private.key -out example.com.csr -subj "/C=RU/ST=Moscow/L=Moscow/O=PHP-Development/OU=IT Department/CN=example.com"

Генерация самоподписного сертификата#

Команда OpenSSL#

openssl req \
  -x509 \
  -newkey rsa:2048 \
  -sha256 \
  -days 3650 \
  -nodes \
  -keyout /srv/registry/cert/registry.key \
  -out /srv/registry/cert/registry.crt \
  -addext 'subjectAltName = DNS:www.example.com' \
  -subj "/C=RU/ST=Msk/L=Msk/O=PHP-Development/OU=IT/CN=example.com"

Tip

То же одной строкой:

openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 -nodes -keyout /srv/registry/cert/registry.key -out /srv/registry/cert/registry.crt -addext 'subjectAltName = DNS:www.example.com' -subj "/C=RU/ST=Msk/L=Msk/O=PHP-Development/OU=IT/CN=example.com"

Скрипт для ПРОДа#

На хосте c04-ansible от имени пользователя rundeckadm:

  1. cd ~/ansible/roles/nginx_update_certs_BETA/files/prod/
    
  2. vim generate_new_cert.sh
    
  3. Меняем fqdn сайта: site_fqdn='hse.appworks.ru'

  4. Сохраняем файл и выполняем скрипт.

  5. Дальше распространяем новый сертификат пао фронтам с помощью плейбука ansible: nginx — распространение сертификатов


Получение сертификата с помощью openssl s_client#

openssl s_client \
  -showcerts \
  -connect имя_внешнего_хоста:порт \
  </dev/null \
  2>/dev/null \
  | openssl x509 \
      -outform PEM > 3rd_party_ssl_cert.pem

Tip

То же одной строкой:

openssl s_client -showcerts -connect имя_внешнего_хоста:порт </dev/null 2>/dev/null | openssl x509 -outform PEM > 3rd_party_ssl_cert.pem

Выпуск сертификата через FreeIPA#

ipa-getcert request -r \
  -f /root/c04-git.sitefactory.local.crt \
  -k /root/c04-git.sitefactory.local.key \
  -N CN=c04-git.sitefactory.local \
  -D c04-git.sitefactory.local \
  -K HTTP/c04-git.sitefactory.local