У меня есть два веб-сайта в одном домене, например 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
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 несколько раз для одного и того же сертификата, но с разных веб-сайтов для самозаверяющих сертификатов.
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, а затем повторно использовать сертификат для олицетворения важного сайта.
Чтобы сделать сертификат доверенным для всех доменов, указанных в сертификате, необходимо явно импортировать сертификат как доверенный в хранилище доверенных сертификатов браузера, а не просто игнорировать предупреждения сертификата.