Depuis 1993, j'ai occupé les fonctions d'administrateur, de responsable de site, de chef de projet technique et d'architecte de système d'information à la sécurité renforcée.
Si vous avez besoin d'une assistance MOA, contactez-moi.
/******************************
* Commandes de base OpenSSL *
* v1.1 du 04-12-06 *
* Auteur : MICHEL S. *
*****************************/
A / CREATION DE CERTIFICAT NUMERIQUE
B / OPERATION SUR LES CLEFS ET LES CERTIFICATS
C / MANUPULATION DE PKCS12
D / GESTION DE LA CA
E / CHIFFREMENT SYNMETRIQUE
F / CHIFFREMENT ASYSMETRIQUE (RSA)
G / S/MIME
A / CREATION DE CERTIFICAT NUMERIQUE
1 - Génération d'une clef RSA 4096 (CA) et protection de la clef par chiffrement AES 256
# openssl genrsa -aes256 -out private/ca.key -rand ./ 4096
2 - Création d'une Autorité de Certification racine ('CA ROOT') autosignée
# openssl req -new -x509 -sha256 -days 3650 -key private/ca.key -out certs/ca.pem
==> Utilisation de SHA256 (SHA-1 est vulnérable)
==> L'utilisation de SHA256 nécéssite OpenSSL 0.9.8+.
3 - Requete de certificat user/serveur.
(Ne pas oublier de commenter/décommenter dans openssl.conf suivant le type de certificat)
# openssl req -sha256 -new -key private/mail.key -out certs/mail.req
4 - Signature du certificat par la CA
# openssl ca -days 3650 -in certs/mail.req -out certs/mail.pem -notext
NB : Il est possible d'utiliser le commutateur -k pour spécifier le mot de passe.
Il n'est pas souhaitable de l'utiliser ==> .bash_history
1 - Genere une clef publique deriver d'une clef privee
# openssl rsa -in rsaclefprivee.pem -pubout -out rsaclefpublique.pem
2 - Chiffre avec une clef publique le fichier
# openssl rsautl -encrypt -pubin -inkey rsaclefpublique.pem
-in fichierclair.txt -out fichierchiffre.enc
3 - Dechiffre avec la clef privee le fichier
# openssl rsautl -decrypt -inkey rsaclefprivee.pem
-in fichierchiffre.enc -out fichierclair.txt
4 - Signe, avec la clef privee, le fichier fichier.txt en signature.sig
# openssl rsautl -sign -inkey rsaclefprivee.pem
-in fichier.txt -out signature.sig
5 - Verifie, avec la clef publique, la signature et sortie dans fichier.txt
# openssl rsautl -verify -pubin -inkey rsaclefpublique.pem
-in signature.bin -out fichier.txt
G / S/MIME
1 - Genere un S/MIME, le certificat doit etre en 2eme parametre de -out
# openssl smime -encrypt -aes256 -in mailclair.txt -out mailchiffre.enc certif.crt
2 - Dechiffre un S/MIME en specifiant le certificat du destinataire associe a la clef
# openssl smime -decrypt -in mailchiffre.enc
-recip certif.pem -inkey key.pem -out mailclair.txt
3 - Signe un mail en incorporant le certificat
# openssl smime -sign -in mail.txt -signer certif.pem -inkey key.pem -out mail.sgn
4 - Verifie la signature d'un mail
# openssl smime -verify -in mail.sgn -out mail.txt