Общее имя (ОИ (CN)) для сертификата с поддержкой субдоменов

SSL-сертификат с поддержкой субдоменов рассматривается как вариант, если требуется защита нескольких субдоменов в рамках одного и того же доменного имени. Эти сертификаты, используя знак подстановки (*) в поле доменного имени, защищают многочисленные субдомены (хосты), связанные с одним и тем же базовым доменом.

Общее имя для сертификатов с поддержкой субдоменов всегда начинается со звездочки и точки (*.).

*.(domainname).com

Например, стандартный выпущенный сертификат с поддержкой субдоменов для *.domain.com будет защищать www.domain.com, mail.domain.com, info.domain.com и т.д., но не будет защищать mail.test.com.

Альтернативные имена субъектов (SAN) должны быть доменом с поддержкой субдоменов (например, *.yourdomain.com) или основаны на указанных вами в списке доменах с поддержкой субдоменов. Например, если один из ваших доменов с подстановочным знаком – это *.example.com, вы можете использовать www.example.com или www.app.example.com, но не можете использовать mail.secure.com. Исключение для сертификата Secure Site Pro SSL, который защищает оба домена.

Установка сертификата на веб-серверы на базе CN

По умолчанию запрашиваемый сертификат предполагается установить во всех соответствующих доменах. Тем не менее, для каждого веб-сервера, поддерживаемого DigiCert, существуют некоторые правила, которые требуют, чтобы сертификат был установлен только на квалифицированных доменах.

Nginx

При поступлении запроса на автоматизацию сервер находит соответствующие блоки сервера на основе CN или SAN, используемых в запросе.

Nginx сравнивает server_name с CN или SAN, указанными в запросе.

Если будет найдено совпадение server_name в наборе серверных блоков, все совпадающие серверные блоки будут защищены.

Пример:

generic
server {
        server_name 8010.abc-example.com *.abc-example.com;
        listen 123.123.123.123:8010 ;
}

server {
        server_name   8020.abc-example.com *.mail.abc-example.com ;
       listen 123.123.123.123:8020 ;
}
server {
        server_name   8030.abc-example.com *.abc-example.com ;
       listen 123.123.123.123:8030 ;
}

В приведенном выше примере, когда вы запрашиваете автоматизацию для:

  1. CN=*.abc-example.com – Защищает оба серверных блока порта 8010 и 8030.
  2. CN=*.mail.abc-example.com – Защищает только серверный блок порта 8020.
  3. CN={8010/8020/8030}.abc-example.com – Защищает только соответствующий серверный блок.
  4. CN=*.abc-example.com и SAN=*.mail.abc-example.com – Защищает все серверные блоки.

Apache

При поступлении запроса на автоматизацию сервер находит соответствующие блоки <VirtualHost> на основе CN или SAN, используемых в запросе.

Apache сравнивает ServerName и ServerAlias с CN или SAN, указанными в запросе.

Если будут найдены соответствующие ServerName или ServerAlias в наборе виртуальных хостов, все совпадающие блоки виртуальных хостов будут защищены.

Пример:

generic
Listen 551
<VirtualHost 125.125.125.125:551>
ServerName 551.abc-example.com
ServerAlias *.mail.abc-example.com
</VirtualHost>

Listen 552
<VirtualHost 125.125.125.125:552>
ServerName 552.abc-example.com 
ServerAlias *.abc-example.com 
</VirtualHost>

Listen 553
<VirtualHost 125.125.125.125:553>
ServerName 553.abc-example.com
ServerAlias *.abc-example.com  securemail.abc-example.com
</VirtualHost>

В приведенном выше примере, когда вы запрашиваете автоматизацию для:

  1. CN=*.abc-example.com – Защищает блоки виртуальных хостов обоих портов 552 и 553.
  2. CN=*.mail.abc-example.com – Защищает только блок виртуального хоста порта 551.
  3. CN={551/552/553}.abc-example.com – Защищает только соответствующий блок виртуального хоста.
  4. CN=*.abc-example.com и SAN=*.mail.abc-example.com – Защищает все блоки виртуальных хостов.

IIS

Сервер IIS не ищет соответствующие CN или SAN, используемые в запросе на автоматизацию. Сертификат будет установлен только по запрошенному IP-адресу и порту.

Пример:

generic
IP/Port: 123.123.123.123: 401
Common name: *.example.com

IP/Port: 125.125.125.125: 402
Common name: *.abc.example.com
SANs: *.mail.example.com

IP/Port: 127.127.127.127: 403
Common name: *secure.example.com
SANs: *.example.com

В приведенном выше примере, когда вы запрашиваете автоматизацию для:

  1. IP/Порт=123.123.123.123: 401, CN=*.example.com – Защищает только 123.123.123.123: 401 Ip-адрес и порт.
  2. IP/Порт=125.125.125.125: 402, CN=*.example.com, SAN=*.mail.example.com – Защищает только 125.125.125.125: 402 Ip-адрес и порт.
  3. IP/Порт=127.127.127.127: 403, CN=*secure.example.com, SAN=*.example.com – Защищает только 127.127.127.127: 403 Ip-адрес и порт.

Tomcat

При поступлении запроса на автоматизацию сервер находит соответствующие блоки <Connector> на основе CN и (или) SAN, используемых в запросе.

Tomcat сравнивает SSLHostConfig hostNameс CN и (или) SAN, указанными в запросе.

Если будет найден соответствующий SSLHostConfig Hostname в наборе блоков коннекторов, все совпадающие блоки будут защищены.

Пример:

generic
<Connector port="182" SSLEnabled="false" defaultSSLHostConfigName="*.abc.example.com" connectionTimeout="20000">
    <SSLHostConfig hostName="*.abc.example.com">  </SSLHostConfig>
    </Connector>

<Connector port="183" SSLEnabled="false" defaultSSLHostConfigName="*.example.com" connectionTimeout="20000">
    <SSLHostConfig hostName="*.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="*.mail.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="abc.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="*.blog.example.com">  </SSLHostConfig>
    </Connector>

<Connector port="184" SSLEnabled="false" defaultSSLHostConfigName="*.secure.example.com" connectionTimeout="20000">
    <SSLHostConfig hostName="*.secure.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="*.blog.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="abc.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="*.login.example.com">  </SSLHostConfig>
    </Connector>

В приведенном выше примере, когда вы запрашиваете автоматизацию для:

  1. CN=*.abc.example.com – Защищает только блоки коннекторов порта 182.
  2. CN=*.example.com – Защищает только блок коннектора порта 183.
  3. CN=*example.com – Защищает все блоки коннектора.
  4. CN=*.secure.example.com и SAN=*.secure.example.com, *.blog.example.com, abc.example.com, *.login.example.com – Защищает только блок коннектора порта 184.

Для успешной автоматизации все блоки SSLHostConfig в составе коннектора должны иметь установленный сертификат.

Например, для успешной автоматизации и установки сертификатов на все блоки SSLHostConfig, необходимо разместить запрос на автоматизацию с:

CN=*.example.com и SAN=*.mail.test.com

generic
<Connector port="123" SSLEnabled="false" defaultSSLHostConfigName="*.example.com" connectionTimeout="20000">
    <SSLHostConfig hostName="*.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="*.mail.test.com">  </SSLHostConfig>
    <SSLHostConfig hostName="abc.example.com">  </SSLHostConfig>
    <SSLHostConfig hostName="*.blog.example.com">  </SSLHostConfig>
    </Connector>

IBM

При поступлении запроса на автоматизацию сервер находит соответствующие блоки <VirtualHost> на основе CN или SAN, используемых в запросе.

IBM-сервер сравнивает ServerName и ServerAlias с CN или SAN, указанными в запросе.

Если будут найдены соответствующие ServerName или ServerAlias в наборе виртуальных хостов, все совпадающие блоки виртуальных хостов будут защищены.

Пример:

generic
Listen 125.125.125.125:551
<VirtualHost 125.125.125.125:551>
ServerName 551.abc-example.com
ServerAlias *.mail.abc-example.com
</VirtualHost>

Listen 125.125.125.125:552
<VirtualHost 125.125.125.125:552>
ServerName 552.abc-example.com 
ServerAlias *.abc-example.com 
</VirtualHost>

Listen 125.125.125.125:553
<VirtualHost 125.125.125.125:553>
ServerName 553.abc-example.com
ServerAlias *.abc-example.com securemail.abc-example.com
</VirtualHost>

В приведенном выше примере, когда вы запрашиваете автоматизацию для:

  1. CN=*.abc-example.com – Защищает блоки виртуальных хостов обоих портов 552 и 553   .
  2. CN=*.mail.abc-example.com – Защищает только блок виртуального хоста порта 551.
  3. CN={551/552/553}.abc-example.com – Защищает только соответствующий блок виртуального хоста.
  4. CN=*.abc-example.com и SAN=*.mail.abc-example.com – Защищает все блоки виртуальных хостов.
  5. CN=551.abc-example.com и SAN=securemail.abc.com – Защищает только блоки виртуальных хостов порта 551 и 553.