configuration OpenSSL pour un nouveau certificat


Fichier de configuration

[ req ]
default_md              = sha256
distinguished_name      = req_dn
req_extensions          = req_ext
x509_extensions         = v3_ca
prompt                  = no

[ req_ext ]
subjectAltName          = @alt_names

[ req_dn ]
countryName             = FR
stateOrProvinceName     = PACA
localityName            = Marseille
organizationName        = Elysiria
organizationalUnitName  = DSI
commonName              = www.elysiria.fr

[ alt_names ]
DNS.0                   = www.elysiria.fr
DNS.1                   = elysiria.fr

[ v3_ca ]
basicConstraints        = CA:false
keyUsage                = critical, digitalSignature, keyEncipherment
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always, issuer
subjectAltName          = @alt_names

En cas de certificat auto-signé, vous pouvez recopier tout le fichier. En cas de certificat signé par une autorité de certification tierce, garder la section bleue et supprimer la rouge.

Les lignes de commande

Générer un certificat auto-signé

openssl req -config config.cnf -newkey rsa:2048 -nodes -keyout private.key -x509 -days 365 -out certificate.crt
  • en rouge, le fichier de configuration similaire à la première section
  • en vert, la clef privée générée (au format PEM)
  • en bleu, le certificat auto-signé (au format PEM)

Générer une clef privée et une demande de signature de certificat (CSR)

Générer une clef privée :

openssl genrsa -out private.key 2048

Générer une demande de signature de certificat (CSR) :

openssl req -config config.cnf -new -key private.key -out cert.csr

Le one-liner (les 2 lignes précédentes regroupées en une seule) :

openssl req -config config.cnf -new -newkey rsa:2048 -nodes -keyout private.key -out cert.csr
  • en rouge, le fichier de configuration similaire à la première section
  • en vert, la clef privée générée (au format PEM)
  • en bleu, la demande de certificat (au format PEM)

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *