通配符证书的公用名 (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。

如果在虚拟主机集中找到匹配的 ServerNameServerAlias,将保护所有匹配的虚拟主机区块。

例如:

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 查找匹配的<连接器>区块。

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

当自动化请求到达后,服务器基于在请求中使用的 CN 或 SAN 查找匹配的 <VirtualHost> 区块。

IBM 服务器对比 ServerNameServerAlias 与请求中存在的 CN 或 SAN。

如果在虚拟主机集中找到匹配的 ServerNameServerAlias,将保护所有匹配的虚拟主机区块。

例如:

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 虚拟主机区块。