Мне интересно, можно ли создать подстановочный сертификат с префиксом.
я знаю это *.example.com
будет охватывать все, что на первом уровне (например, one.example.com
, two.example.com
, three-four.example.com
и т. д.), но не покрывает another.one.example.com
потому что это 2 уровня.
Мне нужен подстановочный сертификат, распознающий префикс; так было бы www.*.example.com
.
Это значит, www.one.example.com
, www.two.example.com
, www.three.example.com
и т.д. все будет работать правильно.
Возможно ли это, и есть ли поставщик сертификатов, который может это сделать?
Мне нужен подстановочный сертификат, распознающий префикс; так было бы
www.*.example.com
. Это значит,www.one.example.com
,www.two.example.com
,www.three.example.com
и т.д. все будет работать правильно.Возможно ли это, и есть ли поставщик сертификатов, который может это сделать?
Нет. Согласно правилам форума браузеров CA, RFC2818 и RFC6125 разрешен только один подстановочный знак и только в крайнем левом ярлыке. Это означает, что нет www.*.example.com
и нет *.*.example.com
либо. Вместо этого вам нужно добавить все нужные домены в часть сертификата с альтернативным именем субъекта, но у вас может быть несколько записей и вы можете использовать подстановочные знаки, т.е. *.sub1.example.com
, *.sub2.example.com
и т.п.
Такие сертификаты с несколькими именами с подстановочными знаками являются обычными (посмотрите сертификат для Facebook), что означает, что есть поставщики сертификатов, которые предлагают эти сертификаты. Но они будут стоить дороже других.
Может быть, вам нужно использовать SubjectAltName.
Взгляни на: http://wiki.cacert.org/FAQ/subjectAltName
Создать .cnf
-файл, подобный следующему, который вы используете с openssl req -new -out example.com.csr -key example.com.key -config example.com.cnf
. Вы можете создать ключевой файл, используя
openssl genrsa -out example.com.key 4096
В example.com.cnf
файл:
[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
commonName = example.com
[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.2 = *.example.com