SMIME et Certificats x509

De knowledge
Aller à la navigation Aller à la recherche

Le protocole X.509 permet de générer des fichiers chiffrés dont la taille est supérieure aux limites des algorithmes asymétrique type RSA.

En pratique on génère une paire de clés en RSA, on choisit une clé symétrique au hasard (RK) on la chiffre avec RSA. Ensuite on chiffre le gros fichier avec AES et la clé RK. smime.permet de "packager" la clé RZ chiffrée et le fichier chiffré.

Le destinataire possédant l'autre clé de la paire RSA déchiffre la clé RZ et s'en sert pour déchiffrer le gros fichier.

Openssl sait faite tout ça en une commande.

Création des "bi clés"

openssl req -x509 -nodes -days 100000 -newkey rsa:2048  -keyout privatekey.pem  -out publickey.pem  -subj '/'

On crée une paire de clé dont la date d'expiration sera dans 100000 jours (273 ans c'est un exemple)

On publie la clé publique.

Chiffrage

C'est donc le partenaire auquel on a envoyé la clé publique qui va chiffrer le fichier qu'il désire nous envoyer.

openssl  smime  -encrypt -aes256  -in  largefile.txt  -binary  -outform DEM  -out largefile.txt.cry  publickey.pem

Déchiffrage

Notre partenaire va nous envoyer le fichier. On le déchiffre par:

openssl  smime -decrypt  -in  largefile.txt.cry  -binary -inform DEM -inkey privatekey.pem  -out  mylargefile.txt

Pour info, pour m'envoyer un message ma clé publique est ici : Utilisateur:Jpinon