borodka_lenina
@borodka_lenina
=)

Как правильно подписать сертификат с множеством доменных имен?

Недавно задавал подобный вопрос и, как казалось, нашел решение. Но ошибся(
Пытаюсь создать сертификат подписанный рутовым. Если создаю по схеме: ключ -> csr -> затем сам сертификат с подписью rootCA.crt то всё нормально и сертификат подписывается рутовым..
Если же пытаюсь использовать файл конфига с опцией subjectAltName то сертификат создается, но рутовым не подписывается. Делаю это вот так:
openssl req -x509 -nodes -newkey rsa:2048 -days 9999 -keyout key.key -out cert.crt -config conf.ini
содержимое конфига:
[CA_default ]
# Directory and file locations.
dir             = /root/ssl/work
private_key     = $dir/certs/rootCA.key
certificate     = $dir/certs/rootCA.crt
policy          = policy_loose
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = RU
ST = Moscow
L = Moscow
O = name
OU = 
CN = name
emailAddress = name
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = dnsname1
DNS.2 = dnsname2
DNS.3 = dnsname3
DNS.4 = dnsname4
DNS.5 = dnsname5
  • Вопрос задан
  • 1212 просмотров
Решения вопроса 1
borodka_lenina
@borodka_lenina Автор вопроса
=)
Оказывается опция -config не добавляет расширения v3_req в сертификат , надо явно указывать extensions в которых и описаны дополнительные домены иначе они будут проигнорированы. То есть сначала мы создаем запрос используя опцию -config
openssl req -nodes -newkey rsa:2048 -days 9999 -keyout test.key -out test.csr -config conf.ini

А затем создаем сам сертификат с подписью, указав файл с расширениями:
openssl x509 -req -in test.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out test.crt -days 9999 -extfile conf.ini -extensions v3_req
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы