Comment générer une CSR pour plusieurs domaines.
J'ai trouvé que la génération de CSR pour un seul domaine est comme ci-dessous:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
Mais comment générer un CSR multi-domaines
Pour qu'un certificat X.509 prenne en charge plusieurs domaines, il doit utiliser plusieurs entrées DNS de nom alternatif de sujet, selon RFC 2818 (HTTP sur TLS) (ou RFC 6125):
Si une extension subjectAltName de type dNSName est présente, elle DOIT être utilisée comme identité. Sinon, le champ (le plus spécifique) Nom commun du champ Objet du certificat DOIT être utilisé. Bien que l'utilisation du nom commun soit une pratique existante, elle est obsolète et les autorités de certification sont encouragées à utiliser le nom dNS à la place.
La correspondance est effectuée en utilisant les règles de correspondance spécifiées par [RFC2459]. Si plus d'une identité d'un type donné est présente dans le certificat (par exemple, plus d'un nom dNSName, une correspondance dans l'un quelconque de l'ensemble est considérée comme acceptable.)
Comme décrit dans ce document (sauf que j'utiliserais -des3
aussi pour la commande genrsa
, pour protéger la clé privée):
openssl.cnf
fichier (l'original se trouve probablement quelque part sous /etc
sous Linux).req_extensions = v3_req
dans le [ req ]
section.subjectAltName=DNS:www.example.com,DNS:www.other-example.com
(une DNS:
entrée par nom d'hôte dont vous avez besoin) dans le [ v3_req ]
section.OPENSSL_CONF=/path/to/your/openssl.cnf openssl req ...
Cela étant dit, je ne m'inquiéterais pas trop de la définition d'une extension dans la RSE. Toute bonne autorité de certification doit ignorer tout ce que vous avez défini dans la CSR et ne définir que ce qu'elle a réellement vérifié lors de l'émission du certificat réel. Ils remplaceront volontiers tout RDN dans votre DN de sujet (par exemple, pays, organisation, ...) ainsi que toute extension (SAN ou utilisation de clé). Premièrement, s'ils laissent toute extension demandée dans le CSR par le demandeur, ce serait un risque pour la sécurité, car certains candidats pourraient vraiment obtenir n'importe quoi. Deuxièmement, c'est ainsi qu'ils gagnent de l'argent supplémentaire, en vous facturant pour définir quelques bits ici et là (par exemple, l'extension de signature de code): ils veilleront à ce que vous n'obteniez que ce que vous avez payé dans votre certificat. Je comprends, cependant, que vous souhaitiez peut-être mettre tous les noms que vous demandez dans votre CSR, juste pour être sûr.