RUDE

Как поделиться самозаверяющим сертификатом TLS между веб-сайтами

У меня есть два веб-сайта в одном домене, например app1.test.local и app2.test.lcaol. Ниже приведена процедура, с помощью которой я создал сертификат self-signed.

  • Создайте закрытый ключ.
openssl genrsa -out tls.key 2048
  • Отредактируйте файл openssl.conf и обновите содержимое req_distinguished_name и alt_names.
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = IN
countryName_default = IN
stateOrProvinceName = KA
stateOrProvinceName_default = KA
localityName = Test
localityName_default = Test
organizationalUnitName = test
organizationalUnitName_default = test
commonName = *.test.local
commonName_max = 64
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.test.local
  • Создать запрос на подпись сертификата
openssl req -new -out tls.csr -key tls.key -config openssl.cnf
  • Подпишите SSL-сертификат.
openssl x509 -req -days 3650 -in tls.csr -signkey tls.key -out tls.crt -extensions v3_req -extfile openssl.cnf

Из опции браузера view certificate я вижу, что и SAN, и CN имеет значение *.test.local. Однако, когда я запускаю приложение app2 из app1, браузер снова предлагает доверять сертификату [The certificate is not trusted because it is self-signed.].

Вопрос: Как запретить браузеру запрашивать Accept the risk and Continue несколько раз для одного и того же сертификата, но с разных веб-сайтов для самозаверяющих сертификатов.


26
1

Ответ:

Решено
How to prevent browser from prompting to Accept the risk and Continue multiple times for the same certificate but from different websites for self-signed certificates.

Переопределение предупреждения о сертификате повлияет только на текущий используемый домен, а не на каждый домен в сертификате. В противном случае кто-то может создать сертификат для какого-то невинного сайта, который также включает SAN важного сайта, такого как paypal.com, а затем повторно использовать сертификат для олицетворения важного сайта.

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