Un certificat multi-domaines (à ne pas confondre avec un certificat wildcard) permet d’utiliser un certificat SSL pour différents noms de domaines et sous-domaines. Ceux-ci peuvent alors être hébergés sur un même serveur Web à adresse IP unique. Pour rappel, lors de l’établissement de la connexion sécurisée, le serveur Web envoie  le certificat SSL alors même que le client n’a pas encore envoyé sa requête. Les certificats au standard X509 ne présentant qu’un unique nom de domaine ou sous-domaines (cas d’un certificat wildcard) par le biais du champ CN (Common Name) : le serveur Web ne peut donc que se mapper  localement à un unique site Web.

Pourtant, une extension existe depuis quelques années (pour ma part je l’ai appris en 2005) et permet de déclarer dans le certificat plusieurs domaines. Celle-ci associe au certificat une liste de domaines : le champ SubjectAltName. Le serveur Web est alors capable de gérer plusieurs domaines, le certificat pouvant être mappé aux hôtes virtuels de cette liste. Seul bémol, la liste des domaines est présente en clair dans le certificat (il n’y aurait pas de magie).

Action ! Pour obtenir un certificat SSL gratuit multi-domaines signé par l’autorité CACert (http://www.cacert.org/) :

  1. créez votre compte sur le site CACert en déclarant votre mailbox et votre nom de domaine
  2. générez la demande de certificat (CSR) grâce à ce script : http://svn.cacert.org/CAcert/Software/CSRGenerator/csr .
  3. copiez la demande sur le formulaire du site et enregistrez le certificat.
  4. installez le certificat racine de CACert si votre navigateur ne l’intègre pas : http://www.cacert.org/index.php?id=3.

Exemple d’exécution du script pour mon domaine hbis.fr (notez bien que je répète le domaine pour l’extension) :

Private Key and Certificate Signing Request Generator
This script was designed to suit the request format needed by
the CAcert Certificate Authority. www.CAcert.org

Short Hostname (ie. imap big_srv www2): hbis
FQDN/CommonName (ie. www.example.com) : hbis.fr
Type SubjectAltNames for the certificate, one per line. Enter a blank line to finish
SubjectAltName: DNS:hbis.fr
SubjectAltName: DNS:www.hbis.fr
SubjectAltName: DNS:admin.hbis.fr
SubjectAltName: DNS:mail.hbis.fr
SubjectAltName: DNS:smtp.hbis.fr
SubjectAltName: DNS:
Running OpenSSL...
Generating a 2048 bit RSA private key
.......................+++
..........................+++
writing new private key to '/root/hbis_privatekey.pem'
-----
Copy the following Certificate Request and paste into CAcert website to obtain a Certificate.
When you receive your certificate, you 'should' name it something like hbis_server.pem

Plus d’informations sur le support de l’extension SubjectAltName par les navigateurs Web : http://wiki.cacert.org/wiki/VhostTaskForce.