Le certificat SSL générique est une option envisageable lorsque l’on cherche à sécuriser plusieurs sous-domaines d'un même domaine. Ces certificats, qui utilisent l’astérisque comme caractère générique (*) dans le champ du nom de domaine, permet la sécurisation de nombreux sous-domaines (hôtes) liés à un même domaine de base.
Le nom commun d’un certificat générique commence toujours par une astérisque suivie d'un point (*.).
*.(nomdedomaine).com
À titre d’exemple, un certificat générique standard émis pour *.domaine.com sécurisera à la fois www.domaine.com, mail.domaine.com, info.domaine.com, etc. En revanche il ne sécurisera pas mail.test.com.
Les autres noms d’objet (SAN) doivent être des domaines à caractère générique (par exemple, *.votredomaine.com) ou être basés sur vos domaines à caractère générique répertoriés. Par exemple, si l'un de vos domaines génériques est *.exemple.com, vous pouvez utiliser www.exemple.com ou www.app.exemple.com, mais pas mail.secure.com. Une exception au certificat Secure Site Pro SSL, qui sécurise les deux domaines.
Par défaut, il est présumé que le certificat demandé sera installé sur tous les domaines correspondants. Cependant, pour tous les serveurs Web pris en charge par DigiCert, certaines règles exigent que le certificat ne soit installé que sur les domaines qualifiés.
Lorsque la requête d'automatisation arrive, le serveur trouve les blocs serveur correspondants à partir du CN ou du SAN utilisé dans la requête.
Nginx compare le server_name au CN ou au SAN présent dans la requête.
Si un server_name correspondant est trouvé parmi le jeu de blocs serveur, tous les blocs correspondants seront sécurisés.
Par exemple :
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 ;
}
Dans l’exemple ci-dessus, lorsque vous envoyez une requête d'automatisation pour :
Lorsque la requête d'automatisation arrive, le serveur trouve les blocs <VirtualHost> correspondants selon le CN ou le SAN utilisé dans la requête.
Apache compare le ServerName et le ServerAlias au CN ou au SAN présent dans la requête.
Si le ServerName ou le ServerAlias correspondant est trouvé dans le jeu d'hôtes virtuels, tous les blocs d'hôtes virtuels correspondants seront sécurisés.
Par exemple :
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>
Dans l’exemple ci-dessus, lorsque vous envoyez une requête d'automatisation pour :
Le serveur ISS ne recherche pas le CN ou le SAN correspondant utilisé dans la requête d'automatisation. Le certificat sera installé uniquement sur l’adresse IP et le port indiqués dans la requête.
Par exemple :
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
Dans l’exemple ci-dessus, lorsque vous envoyez une requête d'automatisation pour :
Lorsque la requête d'automatisation arrive, le serveur cherche les blocs <Connector> correspondants selon le CN et/ou le SAN utilisé dans la requête.
Tomcat compare la variable SSLHostConfig hostName au CN et/ou au SAN présent dans la requête.
Si un SSLHostConfig Hostname est trouvé dans le jeu de blocs de connecteurs, alors tous les blocs correspondants seront sécurisés.
Par exemple :
<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>
Dans l’exemple ci-dessus, lorsque vous envoyez une requête d'automatisation pour :
Pour une automatisation réussie, tous les blocs SSLHostConfig au sein d'un connecteur doivent disposer d'un certificat installé.
Par exemple, pour pouvoir automatiser et installer les certificats sur tous les blocs SSLHostConfig, vous devez passer la requête d'automatisation sous la forme suivante :
CN=*.exemple.com et SAN=*.mail.test.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>
Lorsque la requête d'automatisation arrive, le serveur trouve les blocs <VirtualHost> correspondants selon le CN ou le SAN utilisé dans la requête.
L’IBM server compare le ServerName et le ServerAlias au CN ou au SAN présent dans la requête.
Si le ServerName ou le ServerAlias correspondant est trouvé dans le jeu d'hôtes virtuels, tous les blocs d'hôtes virtuels correspondants seront sécurisés.
Par exemple :
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>
Dans l’exemple ci-dessus, lorsque vous envoyez une requête d'automatisation pour :