와일드카드 인증서의 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

자동화 요청이 도달하면 요청에 사용된 CN 또는 SAN에 기반하여 일치하는 <VirtualHost> 블록을 찾습니다.

Apache는 ServerNameServerAlias을 요청에 있는 CN 또는 SAN에 비교합니다.

일치하는 ServerName 또는 ServerAlias를 가상 호스트(VirtualHost)의 집합에서 찾으면 일치하는 모든 가상 호스트 블록을 보호합니다.

예:

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/Port=123.123.123.123: 401, CN=*.example.com – 123.123.123.123: 401 IP 주소 및 포트만 보호합니다.
  2. IP/Port=125.125.125.125: 402, CN=*.example.com, SAN=*.mail.example.com – 125.125.125.125: 402 IP 주소 및 포트만 보호합니다.
  3. IP/Port=127.127.127.127: 403, CN=*secure.example.com, SAN=*.example.com – 127.127.127.127: 403 IP 주소 및 포트만 보호합니다.

Tomcat

자동화 요청이 도달하면 요청에 사용된 CN 또는 SAN에 기반하여 일치하는 <Connector> 블록을 찾습니다.

Tomcat은 SSLHostConfig hostName을 요청에 있는 CN 및/또는 SAN에 비교합니다.

Connector 블록의 집합에서 일치하는 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 and 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

자동화 요청이 도달하면 요청에 사용된 CN 또는 SAN에 기반하여 일치하는 <VirtualHost> 블록을 찾습니다.

IBM 서버는 ServerNameServerAlias을 요청에 있는 CN 또는 SAN에 비교합니다.

일치하는 ServerName 또는 ServerAlias를 가상 호스트(VirtualHost)의 집합에서 찾으면 일치하는 모든 가상 호스트 블록을 보호합니다.

예:

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 가상 호스트 블록만 보호합니다.