ReLoad

Thierry Jaouen ~ WikiBlog
"Rien à foutre d'être lu, tant que je peux me relire."

Outils pour utilisateurs

Outils du site


blog:2014:06:03:1_certificat_pour_plusieurs_domaines

1 certificat pour plusieurs domaines

Comment créer un certificat auto-signé pour Apache ou Nginx , et éventuellement, intégrer plusieurs sous-domaine.

Par exemple: mon-super-domaine.fr , www.mon-super-domaine.fr , www-lab.mon-super-domaine.fr, ou simplement *.mon-super-domaine.fr

~~READMORE~~

maître de la clef

Definir un domaine principal, le top:

# export NAME=mon-super-domaine.fr

Générer une clé secrète d'au moins 2048 bits…

# openssl genrsa -des3 -out $NAME.key 2048

(Entrer une passe-phrase provisoire (genre: “123456789”))

Générer un certificat “maitre” …
Important: le “Common Name” doit être coohérent.

# openssl req -new -key $NAME.key -out $NAME.csr

Enfin, virer la pass-phrase:

# cp $NAME.key $NAME.key.bak
# openssl rsa -in $NAME.key.bak -out $NAME.key

1 domaine

# openssl x509 -req -days 3650 -in $NAME.csr -signkey $NAME.key -out $NAME.crt

Voila:
“$NAME.key” et “$NAME.crt” sont les fichiers “clés”.

multi-domaines

Il faut mettre plusieurs domaines dans le certificat de la façon suivante:

Créer un fichier “$NAME.domain_extensions.txt” contenant :

[ mydomain_http ]
nsCertType      = server
keyUsage        = digitalSignature,nonRepudiation,keyEncipherment
extendedKeyUsage        = serverAuth
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid,issuer
subjectAltName          = @mydomain_http_subject
[ mydomain_http_subject ]
DNS.1 = sub1.mon-super-domaine.fr
DNS.2 = sub2.mon-super-domaine.fr
... etc ...
DNS.x = xxxx.mon-super-domaine.fr
:!: On peut utiliser simplement un joker du style: “*.mon-super-domaine.fr”

Et enfin:

# openssl x509 -req -days 3650 -in $NAME.csr -signkey $NAME.key -out $NAME.crt -extfile $NAME.domain_extensions.txt -extensions mydomain_http

Voila.

Sources

blog/2014/06/03/1_certificat_pour_plusieurs_domaines.txt · Dernière modification : 2014/06/03 15:46 de thierry