Ошибка ERR: CERT_COMMON_NAME_INVALID в Chrome при использовании SSL сертификата.

Дата: 25.03.2019 Автор Admin

Недавно столкнулся с проблемой при создании SSL сертификов. Нужно было подписать сертификат на доменном CA для одного хоста, по привычке я воспользовался командой:

openssl req -new -newkey rsa:2048 -nodes -keyout SSL.key -out SSL.csr

Но после установки сертификатов обнаружил что Chrome, в отличие от других браузеров не принимает такой сертификат. В этой заметке я расскажу в чем проблема и как ее исправить.

Проблема в том что Chrome, начиная в 58 версии игнорирует поле Common Name и из-за этого не доверяет такому сертификату.

Раньше я не замечал эту проблему, т.к. выписывал сертификаты сразу с несколькими DNS Name — такие сертификаты как раз подходят.

Чтобы создать такой сертификат, нужно создать следующий шаблон в виде текстового файла:

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = req_ext
[ req_distinguished_name ]
countryName                 = Country Name (2 letter code)
stateOrProvinceName         = State or Province Name (full name)
localityName               = Locality Name (eg, city)
organizationName           = Organization Name (eg, company)
commonName                 = Common Name (e.g. server FQDN or YOUR name)
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1   = mysrv1.domain.local
DNS.2   = mysrv2.domain.local
DNS.3   = mysrv3.domain.local

Далее выполняем команду для создания приватного ключа и запроса для подписи сертификата в CA

openssl req -out sslcert.csr -newkey rsa:2048 -nodes -keyout private.key -config myssl-config.cnf

Далее как обычно подписываем сертификат (содержимое файла sslcert.csr, шаблон CA — web server)

Сертификат такого вида подходит для всех браузеров.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *