Comment passer des arguments comme «Nom du pays» à OpenSSL lors de la création d'un certificat auto-signé?


14

Je peux créer un certificat auto-signé à l'aide de cette commande

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

Mais est-il possible de passer des arguments comme «Nom du pays», «Nom de l'État ou de la province», etc. à OpenSSL pour automatiser ce processus?


Vous devez toujours transmettre les noms d'hôte via un fichier CONF. Sinon, les navigateurs rejetteront le certificat, même s'il se trouve dans le magasin de confiance approprié. En effet, les exigences de base de l'autorité de certification / du navigateur nécessitent les noms d'hôte dans le nom alternatif du sujet et la seule façon de les ajouter consiste à utiliser le fichier CONF. Voir aussi Comment créer un certificat auto-signé avec openssl? sur Stack Overflow.
2017

Réponses:


17

Ce site Web explique très bien comment procéder:

La magie de la génération de CSR sans être invité à entrer des valeurs qui vont dans le champ sujet du certificat, est dans l' -subjoption.

-subj arg
  Replaces subject field of input request with specified data and outputs modified request.
    The arg must be formatted as /type0=value0/type1=value1/type2=...,
    characters may be escaped by \ (backslash), no spaces are skipped.

Par exemple:

openssl ... -subj "/C=GB/ST=London/L=London/O=Global Security/OU=IT Department/CN=example.com"

Voir plus de détails sur la page que j'ai liée ci-dessus.


Le lien donné pointe vers une page inexistante. Des informations similaires peuvent être trouvées sur shellhacks.com/…
Jari Turkia

Et pour inclure un e-mail de contact, ajoutez ceci au sujet:/emailAddress=me@mydomain.com
colminator
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.