Рейтинг:0

Chrome показывает ERR_CERT_COMMON_NAME_INVALID, когда Firefox счастлив

флаг mc

Учимся работать с сертификатами, возможно будет локальный CA сервер. У меня есть сервер с BMC, поэтому я использовал его для тренировок. Сгенерированная пара CA, затем пара хостов, а затем подписанный CSR хоста с парой CA для получения хоста crt. Я загрузил CA crt в хранилище доверенных ключей Chrome и пару хостов в BMC. Теперь, когда я захожу на сервер, я вижу, что BMC возвращает правильный crt, но хром показывает, что соединение не защищено. Причина: ERR_CERT_COMMON_NAME_INVALID. Однако, когда я нажимаю «Сертификат недействителен», я вижу, что оба ключа и подписанный сертификат отображаются как «Этот сертификат в порядке». DNS-имя, используемое в URL = ОБЩЕЕ имя. В то же время, для Firefox нет проблем, с моими сертификатами все в порядке. Что может быть не так?

Использовал эту последовательность: #CA ЧАСТНЫЙ

openssl genrsa -out CAKEY.pem 2048

#CA CERTIFICATE (используется в браузере). Обычное имя: ca.mydomain.com

openssl req -x509 -sha256 -new -nodes -key CAKEY.pem -days 3650 -out CACERT.pem -addext "subjectAltName = DNS:ca.mydomain.com"

#HOST KEY (загружен на BMC), здесь нужно отключить защиту паролем, BMC не любит пароль

openssl genrsa -out HOSTKEY.pem 2048

#HOST CSR. Обычное имя: host1.mydomain.com

openssl req -new -key HOSTKEY.pem -out HOSTCSR.pem -addext "subjectAltName = DNS:host1.mydomain.com"

#SIGN (загружено в BMC)

openssl x509 -req -CA CACERT.pem -CAkey CAKEY.pem -in HOSTCSR.pem -out HOSTCRT.PEM -days 3650 -CAcreateserial
dave_thompson_085 avatar
флаг jp
Dupe https://serverfault.com/questions/1080084/chrome-not-trusting-self-signed-cert и другие ссылки там
Рейтинг:1
флаг br

OpenSSL х509 Команда не копирует расширение из файла CSR в подписанный сертификат в версии 1.1.1 и более ранних.

На Последняя версия есть -copy_extensions <аргумент> вариант, где ` может быть никто, копировать или же копировать все.

Вы получаете сообщение в Chrome, потому что в вашем сертификате не скопировано расширение альтернативного имени субъекта (SAN), поэтому он жалуется. Я считаю, что Firefox сохраняет использование общего имени субъекта, если не существует расширения альтернативного имени субъекта, поэтому он не жалуется.

Вы можете обойти это, указав х509 команду в другой файл конфигурации с -extfile <файл> и -расширения <раздел> параметры. Файл <file> просто нужно иметь именованный раздел с расширениями, которые вы хотите добавить в сертификат:

[ мой_расшир ]
subjectKeyIdentifier = хэш
authorKeyIdentifier = идентификатор ключа: всегда
keyUsage = критический, digitalSignature, keyEncipherment
расширенный ключ использования = серверная аутентификация
subjectAltName = @alt_names
[alt_names]
DNS.1 = host1.mydomain.com
dave_thompson_085 avatar
флаг jp
`-extfile` (без `_`). Напротив, `req -new -x509 -addext` действительно помещает SAN в сертификат CA, но ничто никогда не смотрит на SAN в сертификате CA, и это совершенно бесполезно и впустую.
флаг br
@dave_thompson_085 - спасибо, исправлено :-)
флаг mc
Спасибо, ваше решение работает для меня. Я не вижу здесь кнопки, чтобы сделать ваш ответ решением. Должен ли я нажать «Ответить на ваш вопрос»? `bash#openssl x509 -req -CA CACERT.crt -CAkey CAKEY.pem -in HOSTCSR.pem -out HOSTCRT.crt -days 3650 -CAcreateserial -extfile ext.txt -extensions my_ext` `баш#` `bash#cat ext.txt` `[my_ext]` `subjectKeyIdentifier = хэш` `authorityKeyIdentifier = идентификатор ключа: всегда` `keyUsage = критический, цифровая подпись, ключевое шифрование` `extendedKeyUsage = serverAuth` `subjectAltName = @alt_names` `[альтернативные_имена]` `DNS.1 = host1.mydomain.com`
флаг br
Чтобы пометить ответ как принятый, нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.