google-chrome — Неверный самозаверяющий сертификат SSL - «Отсутствует альтернативное имя субъекта»" />

Неверный самозаверяющий сертификат SSL - «Отсутствует альтернативное имя субъекта»

Недавно Chrome прекратил работу с моими самозаверяющими SSL-сертификатами и считает, что они небезопасны. Когда я смотрю на сертификат на вкладке DevTools | Security, я вижу, что там написано

  

Альтернативное имя субъекта отсутствует Сертификат для этого сайта   не содержит расширение альтернативного имени субъекта, содержащее домен   имя или IP-адрес.

     

Ошибка сертификата. Существуют проблемы с цепочкой сертификатов сайта.   (Нетто :: ERR_CERT_COMMON_NAME_INVALID).

Как я могу это исправить?

66 голосов | спросил Brad Parks 27 PMpThu, 27 Apr 2017 21:17:51 +030017Thursday 2017, 21:17:51

6 ответов


0

Чтобы это исправить, вам нужно указать дополнительный параметр для openssl при создании сертификата, в основном

-sha256 -extfile v3.ext

где v3.ext - такой файл, с %%DOMAIN%% заменено тем же именем, которое вы используете в качестве Common Name. Подробнее здесь и здесь . Обратите внимание, что обычно вы устанавливаете Common Name и %%DOMAIN%% для домена, для которого вы пытаетесь создать сертификат. Так что если бы это было www.mysupersite.com, то вы бы использовали это для обоих.

v3.ext

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = %%DOMAIN%%

Примечание. Сценарии, решающие эту проблему, и создание полностью доверенных сертификатов ssl для использования в Chrome, Safari и из клиентов Java можно найти здесь

Еще одно примечание . Если все, что вы пытаетесь сделать, это остановить Chrome от выдачи ошибок при просмотре самозаверяющего сертификата, вы можете указать Chrome игнорировать все SSL ошибки для ВСЕХ сайтов, запуская их с помощью специального параметра командной строки, , как подробно описано здесь в SuperUser

ответил Brad Parks 27 PMpThu, 27 Apr 2017 21:17:51 +030017Thursday 2017, 21:17:51
0

Я создал bash-скрипт , чтобы упростить создание самозаверяющих сертификатов TLS, которые действительны в Chrome.

  

сценарий самозаверяющего tls bash

После установки сертификатов обязательно перезапустите Chrome (chrome://restart). Протестировано на Chrome 65.x и все еще работает.


Еще одним (гораздо более надежным) инструментом, который стоит попробовать, является cfssl инструментарий CloudFlare:

  

cfssl

ответил Logan 15 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 15 Sep 2017 19:13:58 +0300 2017, 19:13:58
0

Следующее решение работает для меня в Chrome 65 ( ref ) -

Создайте файл конфигурации OpenSSL (пример: req.cnf)

[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = VA
L = SomeCity
O = MyCompany
OU = MyDivision
CN = www.company.com
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.company.com
DNS.2 = company.com
DNS.3 = company.net

Создайте сертификат, ссылающийся на этот файл конфигурации

openssl req -x509 -nodes -days 730 -newkey rsa:2048 \
 -keyout cert.key -out cert.pem -config req.cnf -sha256
ответил Anshul 6 PMpFri, 06 Apr 2018 15:00:18 +030000Friday 2018, 15:00:18
0

Я просто использую параметр -subj, добавляя IP-адрес компьютера. Решается только одной командой.

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -sha256 -subj '/CN=my-domain.com/subjectAltName=DNS.1=192.168.0.222/' -keyout my-domain.key -out my-domain.crt

Вы можете добавить другие атрибуты, такие как C, ST, L, O, OU, emailAddress, чтобы генерировать сертификаты без запроса.

ответил Ludwig 26 J000000Wednesday17 2017, 20:53:17
0

Мне удалось избавиться от (net :: ERR_CERT_AUTHORITY_INVALID), изменив значение DNS.1 файла v3.ext

[alt_names] DNS.1 = domainname.com

Измените domainname.com своим собственным доменом.

ответил Jun See 16 Maypm17 2017, 14:51:51
0

на MAC начиная с Chrome версии 67.0.3396.99 мой самозаверяющий сертификат перестал работать.

регенерация со всем, что написано здесь, не сработало.

UPDATE

имел возможность подтвердить, что мой подход работает сегодня :). Если это не работает для вас, убедитесь, что вы используете этот подход

v3.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = <specify-the-same-common-name-that-you-used-while-generating-csr-in-the-last-step>
$

скопировано отсюда https://ksearch.wordpress.com/2017/08/22/generate-and-import-a-self-signed-ssl-certificate-on-mac-osx-sierra/ р >

КОНЕЦ ОБНОВЛЕНИЯ

наконец-то смог увидеть зеленый Secure только тогда, когда удалил мой сертификат из системы и добавил его в локальный Брелок. (если есть - бросьте первым). Не уверен, имеет ли это значение, но в моем случае я скачал сертификат через chrome и проверил, что дата создания сегодня - поэтому я только что создал.

надеюсь, что это поможет кому-то потратить на это целый день.

никогда не обновлять Chrome!

ответил user2932688 2 J000000Monday18 2018, 23:55:29

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132