OPENSSL sous LINUX

OPENSSL sous LINUX

Openssl vous permet entre autre de créer des certificats auto-signé de créer des clés privées mais aussi de créer des requêtes csr qui pourront être envoyé pour validation afin d’obtenir un certificat au prêt d’une autorité de certification reconnu. Vous pouvez bien évidement créer votre propre CA (autorité de certification) et l’utiliser pour signer vos certificat.

Vous pouvez aussi créer un certificat auto signé (ca.crt) ainsi qu’une clé privée (ca.key). Vous pouvez utiliser le certificat généré ainsi que la clé pour votre serveur directement ou alors l’utiliser comme CA pour signer d’autre requête de certificat ou générer des certificat pour des clients.

root@server:/opt/pki/# openssl req -x509 -days 3650 -out ca.crt -nodes -newkey rsa:4096 -keyout ca.key

Créer une requête csr (client0.csr) en utilisant une clé privé existante (client0.key)

root@client01:/opt/pki/# openssl req -new -out client0.csr -key client0.key

Ou alors créer une requête csr (client0.csr) ainsi qu’une clé privé (client0.key)

root@client01:/opt/pki/# openssl req -new -out client0.csr -nodes -newkey rsa:4096 -keyout client0.key

Valider notre requête csr (client0.csr) en générant un certificat (client0.crt) avec notre clé privée (client0.key), en gros un certificat auto signé on peux faire :

root@server:/opt/pki/# oopenssl x509 -req -in client0.csr -signkey client0.key -days 3650 -out client0.crt

Si nous voulons plutôt créer un certificat (en validant requête csr précédente) signé avec notre CA que nous avons précédemment créé. il faut créer un fichier de configuration pour le certificat et y renseigner au moins les nom alternatif du serveur qui vas porter le certificat.

root@server:/opt/pki/# cat planet.guiffo.local.ext 
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = planet.guiffo.local
IP.1 = 192.168.233.10

root@server:/opt/pki/# openssl x509 -req -in planet.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out planet.crt -days 3650 -sha256 -extfile planet.guiffo.local.ext

NB: le fichier ca.srl qui apparaît contient l’id du certificat suivant qui vas être généré. Il ne faut pas le supprimer il sert de repéré au CA pour la génération de certificat. J’imagine pour éviter d’avoir des certificat avec les même IDs ?

joel

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.