Я задаюсь вопросом, возможно ли создать Wildcard-сертификат с префиксом.
Я знаю это *.example.com
покроет что-либо на первом уровне (например. one.example.com
, two.example.com
, three-four.example.com
, и т.д.), но не покроет another.one.example.com
потому что это - 2 уровня.
У меня должен быть Wildcard-сертификат, который распознает префикс; таким образом, это было бы www.*.example.com
.
Это означает, www.one.example.com
, www.two.example.com
, www.three.example.com
, и т.д. все работал бы правильно.
Действительно ли это возможно, и является там поставщиком сертификата, который может сделать это?
Мне нужен wildcard сертификат, который распознает префикс, так что это будет
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