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?

Alexander Zeitler
la source
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.

janos
la source
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:/[email protected]
colminator