Выпуск сертификатов#

Сертификат сервера#

Для генерации серверного сертификата:

  1. Создать файл конфигурации TLS.cnf с содержимым:

DNS_FRONT = сюда_подставить_FRONT_DNS_хост
DNS_ADAPTER = сюда_подставить_ADAPTER_DNS_хост
   
[ req ]
default_bits = 4096
default_md = sha256
prompt = no
encrypt_key = no
distinguished_name = dn
req_extensions = req_ext
   
[ dn ]
C = 
O = 
OU = 
CN = 
   
[ req_ext ]
subjectAltName = @alt_names
   
[ alt_names ]
DNS.1 = $DNS_FRONT
DNS.2 = $DNS_ADAPTER
DNS.3 = www.$DNS_FRONT
DNS.4 = www.$DNS_ADAPTER

Геобалансировка В случае, если программный компонент необходимо развернуть в нескольких средах оркестрации и обеспечить геобалансировку между ними, добавить все используемые DNS-имена в файл конфигурации. В качестве CN используется геобалансированный DNS UI компонента.

  1. Сгенерировать ключ и запрос на сертификат по конфигурации TLS.cnf

openssl req -new -keyout tls.key -config tls.cnf -out tls.csr -days 365
  1. Подписать запрос на сертификат TLS.cnf сертификатом Удостоверяющего Центра

  2. Преобразовать сертификат из формата DER в PEM

openssl x509 -inform DER -in tls.cer -out tls.crt
  1. Объединить сертификат и приватный ключ в контейнер p12

Объединение crt и key в p12

openssl pkcs12 -export -out tls.p12 -name "alias" -inkey tls.key -in tls.crt

В качестве alias можно использовать название стенда.

  1. Создать хранилище ключей keystore.jks

keytool -importkeystore -srckeystore tls.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
  1. Создать хранилище сертификатов truststore.jks и разместить в него сертификат(ы) УЦ

keytool -import -file root.cer -alias root -keystore truststore.jks
keytool -import -file ca2.cer -alias ca2 -keystore truststore.jks

Сертификаты клиента#

Для подключения к СУБД#

  1. Сгенерировать приватный ключ и запрос на сертификат

openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout emailadp.key -subj "/C=RU/O=Organization_name/OU=00CA/CN=имя_пользователя_бд" -out emailadp.csr

Примечание: CN=имя_пользователя_бд

  1. Подписать запрос на сертификат сертификатом УЦ

  2. Преобразовать приватный ключ в формат PK8

openssl pkcs8 -topk8 -outform DER -in server.key -out server.pk8 -nocrypt

! Так как подключение к СУБД происходит под разными пользователями с ролями as_admin и as_TUZ, необходимо сделать сертификаты на каждого пользователя, где CN - логин пользователя.

Для подключения к SecMan, Exchange, LDAP, CEPH - используются только сертификаты УЦ.