divers:openssl

Ceci est une ancienne révision du document !


Openssl

Openssl est un utilitaire en ligne de commande efficace pour gérer ses propres certificats. Il existe d'autre utilitaire comme XCA. Voila quelques utilisations possible.

Création d'un certificat autosigné :

openssl req -config ./openssl.cnf -new -x509 -keyout cakey.pem -out cacert.pem -days 3650

Cela crée une clef cacert.pem et un certificat cacert.pem qui pourra servir de Certificat d'autorité racine. Il sera valide 10 ans (3650 jours). La clef aura un mot de passe ce qui est conseillé dans ce cas. Si vous voulez éviter le mot de passe, il faut ajouter l'option -nodes

Le fichier openssl.cnf dans ce cas servira à connaitre les champs à remplir et leurs valeurs par défaut.

Pour authentifier un serveur, il faut un certificat valide c'est à dire un document contenant la description du serveur (notamment son identifiant et ses noms alternatifs) ainsi que sa clef publique et une signature d'une autorité de certification.

  • Pour générer une clef secrète pour le serveur (2048 bits) :
openssl genrsa -out server.key 2048
  • Pour générer la requète de signature à envoyer à l'autorité :
openssl req -config openssl.cnf -nodes -new -key server.key -out server.csr

Ici le fichier openssl.cnf en plus des valeurs par défaut doit contenir les information sur les noms alternatifs.

  • Dans la section [ req ] de ce fichier, il faut ajouter une extension :
[ req ]
...
req_extensions	= v3_req
  • Il faut alors une section [ v3_req ] contenant au moins :
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
  • Enfin, il faut une section [ alt_names ] avec les nom alternatifs :
[ alt_names ]
DNS.1 = premiernom.univ-lyon1.fr
DNS.2 = deuxiemenom.secu.univ-lyon1.fr
DNS.3 = troisiemenom.secu.univ-lyon1.fr
IP.1 = 172.18.0.2
IP.2 = ...

Attention, il est préférable que le

  • divers/openssl.1484003855.txt.gz
  • Dernière modification : 2017/01/10 00:17
  • de fabien.rico