Skip to main content

Nombre común (CN) para un certificado comodín

Un certificado SSL comodín se considera como opción cuando se busca asegurar subdominios múltiples dentro del mismo nombre de dominio. Estos certificados, que utilizan un carácter comodín (*) en el campo del nombre del dominio, aseguran varios subdominios (hosts) vinculados al mismo dominio base.

Aviso

The Common Name for wildcard certificates always starts with an asterisk and dot (*.). For example, *.(domainname).com

Por ejemplo, un certificado comodín estándar emitido para *.dominio.com asegurará www.dominio.com, correo.dominio.com, info.dominio.com, etc., pero no asegurará correo.prueba.com.

Nota

El nombre alternativo del sujeto (SAN) debe ser un dominio comodín (por ejemplo, *.sudominio.com) o basarse en sus dominios comodín enumerados. Por ejemplo, si uno de sus dominios comodín es *.ejemplo.com, puede usar www.ejemplo.com, pero no correo.seguro.com. Una excepción es un certificado SSL Secure Site Pro que asegura ambos dominios.

Instalación del certificado en los servidores web basados en los CN

De manera predeterminada, se asume que el certificado solicitado está instalado en todos los dominios que coincidan. No obstante, para cada servidor web admitido por DigiCert, hay reglas que requieren que el certificado se instale solamente en los dominios calificados.

Nginx

Cuando llega la solicitud de automatización, el servidor encuentra los bloques de servidor que coincidan basándose en el CN o SAN usado en la solicitud.

Nginx compara el server_name con el CN o SAN presente en la solicitud.

Si el server_name que coincide se encuentra en el conjunto de bloques del servidor, se asegurarán todos los bloques del servidor que coincidan.

Por ejemplo:

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 ;
}

En el ejemplo anterior, cuando solicita automatización para:

  1. CN=*.abc-ejemplo.com, asegura los bloques del servidor del puerto 8010 y el 8030.

  2. CN=*.correo.abc-ejemplo.com, asegura solamente el bloque del servidor del puerto 8020.

  3. CN={8010/8020/8030}.abc-ejemplo.com, asegura solamente el bloque del servidor respectivo.

  4. CN=*.abc-ejemplo.com y SAN=*.correo.abc-ejemplo.com, asegura todos los bloques del servidor.

Apache

Cuando llega la solicitud de automatización, el servidor encuentra los bloques de <VirtualHost> que coincidan basándose en el CN o SAN usado en la solicitud.

Apache compara el Apache compares the ServerName y ServerAlias con el CN o SAN presente en la solicitud.

Si el ServerName o ServerAlias que coincide se encuentra en el conjunto de hosts virtuales, se asegurarán todos los bloques de hosts virtuales que coincidan.

Por ejemplo:

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>

En el ejemplo anterior, cuando solicita automatización para:

  1. CN=*.abc-ejemplo.com, asegura los bloques del host virtual del puerto 552 y el 553.

  2. CN=*.correo.abc-ejemplo.com, asegura solamente el bloque del host virtual del puerto 551.

  3. CN={551/552/553}.abc-ejemplo.com, asegura solamente el bloque del host virtual.

  4. CN=*.abc-ejemplo.com y SAN=*.correo.abc-ejemplo.com, asegura todos los bloques del host virtual.

IIS

El servidor IIS no busca CN o SAN que coincidan usados en la solicitud de automatización. El certificado solamente se instalará en la dirección IP y puerto solicitados.

Por ejemplo:

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

En el ejemplo anterior, cuando solicita automatización para:

  1. IP/Puerto=123.123.123.123: 401, CN=*.ejemplo.com, asegura solamente 123.123.123.123: Dirección IP y puerto 401.

  2. IP/Puerto=125.125.125.125: 402, CN=*.ejemplo.com, SAN=*.correo.ejemplo.com, asegura solamente 125.125.125.125: Dirección IP y puerto 402.

  3. IP/Puerto=127.127.127.127: 403, CN=*seguro.ejemplo.com, SAN=*.ejemplo.com, asegura solamente 127.127.127.127: Dirección IP y puerto 403.

Tomcat

Cuando llega la solicitud de automatización, el servidor encuentra los bloques de <Connector> que coincidan basándose en los CN o SAN usados en la solicitud.

Tomcat compara el SSLHostConfig hostName con el CN o SAN presente en la solicitud.

Si el SSLHostConfig Hostname que coincide se encuentra en el conjunto de bloques de conectores, entonces se asegurarán todos los bloques que coincidan.

Por ejemplo:

http to https Automation

<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>

En el ejemplo anterior, cuando solicita automatización para:

<Connector port="8082" connectionTimeout="20000" protocol="HTTP/1.1" defaultSSLHostConfigName="*.avp.cert-testing.com" 
SSLEnabled="true">                   
    <SSLHostConfig hostName="*.avp.cert-testing.com">      
    <Certificate
     certificateKeyFile="C:\Certbot\-v1ItahTQMXDj5mWSECcn7o182xIChVEwGzsznbccjk\live\avp.cert-testing.com\privkey.pem"
     certificateFile="C:\Certbot\-v1ItahTQMXDj5mWSECcn7o182xIChVEwGzsznbccjk\live\avp.cert-testing.com\cert.pem"
     type="RSA"/>
     </SSLHostConfig>
</Connector>

In the above examples, when you request automation for:

  1. CN=*.abc.ejemplo.com, asegura solamente los bloques de conectores del puerto 182.

  2. CN=*.ejemplo.com, asegura solamente el bloque de conectores del puerto 183.

  3. CN=*ejemplo.com, asegura todos los bloques de conectores.

  4. CN=*.seguro.ejemplo.com y SAN=*.seguro.ejemplo.com, *.blog.ejemplo.com, abc.ejemplo.com, *.login.ejemplo.com, aseguran solamente el bloque de conectores del puerto 184.

Aviso

Para una automatización correcta, todos los bloques SSLHostConfig dentro de un conector deben tener un certificado instalado.

CN=*.ejemplo.com y SAN=*.correo.prueba.com

<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

Cuando llega la solicitud de automatización, el servidor encuentra los bloques de <VirtualHost> que coincidan basándose en los CN o SAN usados en la solicitud.

El servidor IBM compara el ServerName y ServerAlias con los CN o SAN presentes en la solicitud.

Si el ServerName o ServerAlias que coincide se encuentra en el conjunto de hosts virtuales, se asegurarán todos los bloques de hosts virtuales que coincidan.

Por ejemplo:

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>

En el ejemplo anterior, cuando solicita automatización para:

  1. CN=*.abc-ejemplo.com, asegura los bloques del host virtual del puerto 552 y el 553.

  2. CN=*.correo.abc-ejemplo.com, asegura solamente el bloque del host virtual del puerto 551.

  3. CN={551/552/553}.abc-ejemplo.com, asegura solamente el bloque del host virtual.

  4. CN=*.abc-ejemplo.com y SAN=*.correo.abc-ejemplo.com, asegura todos los bloques del host virtual.

  5. CN=551.abc-ejemplo.com y SAN=correoseguro.abc.com, asegura solamente los bloques del host virtual del puerto 551 y 553.