У нас есть dev сервер, который доступен через Интернет, но является ограниченным IP, таким образом, безопасность здесь является просто способом позволить нам воспроизводить продуктивную среду в противоположность попытке быть безопасной. Высокоуровневый домен, давайте назовем его dev.com
, не используется, но devs имеют каждый сайт, созданный в их собственном определенном субдомене. Так скажем, существует site1.com
, site2.com
и site3.com
, затем разработчики george
и nico
имел бы полные URL как:
Я первоначально думал, что подстановочный знак самоподписал сертификат, сделает, но позже нашел что *.dev.com
примененный только к something.dev.com
и не sub-sub домены. Я решил следовать инструкциям в этом ответе. Когда я использую:
DNS.1 = www.site2.com.nico.dev.com
DNS.2 = www.site1.com.george.dev.com
все хорошо работает, но к сожалению существует много застройщиков многих сайтов, таким образом, было бы хорошо сверх 100 записей для DNS.x
здесь. Я хотел знать, возможно ли использовать подстановочные знаки в [ alternate_names ]
раздел моего openssl.cnf
. Я попробовал следующее:
DNS.1 = dev.com
DNS.2 = www.site1.com.george.dev.com
DNS.3 = *.*.*.nico.dev.com
Принимая во внимание, что DNS.2
обработанный, DNS.3
не делает, давая мне ошибку NET::ERR_CERT_COMMON_NAME_INVALID
в Chrome.
Есть ли способ сделать это, или будете, я должен генерировать очень длинный список DNS.x
записи для покрытия всех сайтов?
Я слышал, что путем создания моего собственного CA это будет возможно. Я следовал большим инструкциям на этом ответе. С моим собственным CA, неповрежденным, я создал сертификат с DNS.1
то же как общее название и DNS.2
и DNS.3
с подстановочными знаками как так:
DNS.1 = dev.com
DNS.2 = *.dev.com
DNS.3 = *.*.*.*.nico.dev.com
Я затем импортировал cacert.pem
от первого шага руководства, связанного с вышеупомянутым в к хрому как доверенный корневой центр сертификации и перезапущенный браузер. Для каждой доменной конфигурации я установил SSLCertificateKeyFile
и SSLCertificateFile
к serverkey.pem
и servercert.pem
соответственно и протестированный несколько доменов:
NET::ERR_CERT_COMMON_NAME_INVALID
NET::ERR_CERT_AUTHORITY_INVALID
Таким образом, кажется, что первый уровень подстановочного знака работал хорошо, но под которым, это не сделало. Это - то же для Chrome и IE (которые используют сертификаты Windows), и для Firefox (который управляет его собственным).
Таким образом, мой вопрос остается, использует sub-sub (-sub*) домены этим возможным способом?
Вы можете иметь только один уровень wildcard.
*.example.com будет охватывать anything.example.com, но не один.anything.example.com.
*.subdomain.example.com будет обрабатывать anything.subdomain.example.com.
.Открытые подписанные сертификаты:
Технический ответ
Да. Ничто не препятствует созданию сертификатов SAN поддоменов с подстановочными знаками с любым сочетанием уровней подстановочных знаков и доменов. Если вы управляете своим собственным внутренним центром сертификации, то вы можете создать сертификат SAN с любой комбинацией поддоменов, подстановочных знаков и т. Д.
Практический ответ на основе моего собственного опыта
Нет. или маловероятно ... Я не знаю ни одного CA, который продаст вам один из них. Я попросил несколько центров сертификации об этом решении, и каждый из них сразу же отклонил запрос. Я подозреваю, что они боятся потерять деньги, предлагая такие сертификаты. Они предпочитают, чтобы у вас был один подстановочный знак для каждой зоны (поддомен или нет)или один сертификат SAN с количеством записей до n . n - это число, которым конкретный CA будет ограничивать вас. Мне не удалось найти центр сертификации, который будет продавать сертификат SAN с набором поддоменов с подстановочными знаками. Я бы предоставил список центров сертификации, которые я запрашивал, но подозреваю, что здесь это неуместно.
[Обновление]
Самоподписанные сертификаты
Я неправильно понял смысл вопроса. Я считаю, что нужен был пример openssl.cnf. Вот один пример. Вам нужно будет заменить записи DNS на имена поддоменов с подстановочными знаками. На сайте security.stackexchange.com также есть несколько сообщений об этой настройке. Я не тестировал это, так как мои потребности были связаны с общедоступными URL-адресами, и CA не разрешили бы это как вариант.