Certains outils permettent de générer des CSR en ligne, en récupérant le certificate request ainsi que la clé privée. Ceci n’est pas tellement sécurisé et il peut parfois être utile d’ajouter certains éléments au CSR comme le SAN. Voici comment générer un certificate Request (CSR) avec OpenSSL en y ajoutant des SAN.
Qu’est-ce qu’un SAN ?
Un SAN ou Subject Alternative Name est une extension de la norme X509, qui permet d’ajouter des informations complémentaires à un certificat. Par exemple, créer un certificat valable pour plusieurs noms de domaines :
- mondomain.com
- www.mondomain.com
- shop.mondomain.com
Un SAN peut contenir plusieurs informations comme des adresses mails, des adresses IP ou des noms de domaine.
Générer un CSR comprenant un ou plusieurs SAN
Génération de la clé privée
Pour générer une clé privée avec OpenSSL au format RSA :
openssl genrsa -out mondomain.com.key 2048
Pour générer une clé privée avec OpenSSL au format ECC :
openssl ecparam -genkey -name prime256v1 -out mondomain.com.key
Création du fichier de configuration
Pour générer le CSR avec un SAN et d’autres configurations, nous allons créer un fichier de configuration au format ini (par exemple, sslconf.ini), qui sera appelé par la commande suivante pour générer le CSR :
[ req ]
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
CN = mondomain.com
emailAddress = [email protected]
O = Ma Société
OU = DSI
L = Ma Ville
ST = Mon Etat
C = FR
[ req_ext ]
subjectAltName = DNS: www.mondomain.com, DNS: shop.mondomain.com, IP: 32.56.4.152
Génération du CSR avec le fichier de configuration
La clé privée a été générée et le fichier de configuration est prêt : nous allons désormais lancer la génération du certificate request en utilisant cette configuration :
openssl req -new -config sslconf.ini -key mondomain.com.key -out mondomain.com.csr
Nous avons donc désormais 3 fichiers :
- Le fichier de configuration : sslconf.ini
- Le fichier de clé privée : mondomain.com.key
- Le fichier de request : mondomain.com.csr
Il ne vous reste plus qu’a vous rendre chez votre fournisseur de certificat préféré comme DigiCert et de demander une génération de certificat en fournissant le fichier de request ci-dessus.
Vous pouvez retrouver tous nos tutoriels en ligne en suivant ce lien.