На самоподписанном сертификате Chrome предупреждает, что IE 11 и Firefox 52.9 принимают (Windows 7) - PullRequest
0 голосов
/ 01 октября 2019

Самоподписанный сертификат CA, который используется с веб-сайтом, работает нормально с Firefox 52.9 и IE 11 на Windows 7. Однако Chrome 57 настаивает на том, чтобы красный «! Не доверял» рядом с URL-адресами https. Несмотря на это, эти URL работают. Мне нужно избавиться от этого предупреждения, так как оно напугало пользователей. (На сайте нет ничего, что могло бы быть вредным - ни финансовой информации, ни медицинской информации, ничего подобного.) Это странно, потому что Chrome хранит сертификат точно в том же месте, что и IE, и если сертификат хранится в ChromeIE может использовать его без проблем. (Но не наоборот.)

В chrome нажмите на красное предупреждение, и оно говорит, что сертификат недействителен, но ничто в деталях сертификата не помечено как имеющее проблему. Сравнивая сведения об одном и том же сертификате в IE и Chrome, в одном и том же диалоговом окне Windows, как ни странно, они различаются неуловимо. Это не имеет смысла для меня, так как это тот же файл, или, по крайней мере, так должно быть! На вкладке Details (все остальные поля одинаковы):

               IE         Chrome
Version        V3         V1
Serial Number  (hex)      2
Subject Key ID (hex)      no such field
Authority Key  (hex)      no such field
Basic Constr.  (data)     no such field
thumbprint     (hex)      (different hex)

Я попытался экспортировать сертификат из IE и импортировать его в Chrome и увидел то же самое, что и раньше. Это похоже на то, как два браузера по-разному интерпретируют сертификат.

Учитывая, как были сделаны сертификаты ЦС и сервера (см. Ниже), кто-нибудь может объяснить, почему это происходит, и как настроить Chrome, чтобы он не жаловался иликак сделать самозаверяющие сертификаты, которые он примет? Спасибо.

Сертификат CA был создан следующим образом:

openssl genpkey -algorithm RSA -out ca.key \
  -pass pass:random_string_of_characterss -pkeyopt rsa_keygen_bits:2048

openssl req -new -x509 -days 7300 -key ca.key -out ca.crt <<EOD
US
California
Pasadena
(not shown)
(not shown)
(not shown, is part of organization name)
(not shown)
EOD

Сертификат сервера был создан с помощью:

openssl genpkey -algorithm RSA -out server.key \
  -pass pass:different_random_string -pkeyopt rsa_keygen_bits:2048

openssl req -new -key server.key -out server.csr <<EOD
US
California
Pasadena
(not shown, matches CA field)
(not shown, matches CA field)
(not shown, is fully qualified IP name of machine)
(not shown, matches CA field)


EOD #the two blank lines before this are intentional

#increment the CERT
openssl x509 -req -days 7300 -in server.csr -CA ca.crt \
  -CAkey ca.key -set_serial 02 -out server.crt

cp server.key server.key.secure

openssl rsa -in server.key.secure -out server.key
#removed password

Обратите внимание, что имя машины иимя, используемое в сертификате, на самом деле является псевдонимом DNS. Основная запись похожа на «foo.bar.school.edu», а используемая - на who.bar.school.edu. Они оба разрешают один и тот же IP-адрес. Не похоже, что это должно иметь значение, но, может быть, это имеет значение?

Подробнее ... Нашли эту страницу:
https://medium.com/@tbusser/creating-a-browser-trusted-self-signedssl-certificate-2709ce43fd15

, так что попробовал это.

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

[alt_names]
DNS.1 = *.bar.school.edu
DNS.2 = *.school.edu
EOD
#increment the count and use the extfile
openssl x509 -req -days 7300 -in server.csr -CA ca.crt \
  -CAkey ca.key -set_serial 03 -out server.crt -extfile v3.ext
/usr/bin/cp server.crt ../ssl.crt
apachectl restart

Это сделало Chrome счастливым, но IE это не понравилось. С этим сервером все верхние окна IE были розовыми, а в центре - «ошибка сертификата».

Итак, что за магическое заклинание в наши дни делает сертификат CA и сертификат неподписанного сервера, что все эти браузеры будут принимать ????

...