informatique:openssl
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
informatique:openssl [24/03/2021 21:23] – [Heartbleed] cyrille | informatique:openssl [24/03/2021 21:48] – [Chiffrer des fichiers en asymétrique (clé privée/publique)] cyrille | ||
---|---|---|---|
Ligne 74: | Ligne 74: | ||
L' | L' | ||
- | ===== Chiffrer des fichiers en asymétrique ===== | + | ===== Chiffrer des fichiers en asymétrique |
On ne peut pas crypter un fichier avec une clé publique, la taille ne correspondra pas à l’algorithme. On créé donc un secret aléatoire que l'on chiffre avec la clé publique (asymétrique) et avec lequel on chiffre le fichier (symétrique). Pour déchiffrer la fichier on retrouve le secret en le déchiffrant avec la clé privée. | On ne peut pas crypter un fichier avec une clé publique, la taille ne correspondra pas à l’algorithme. On créé donc un secret aléatoire que l'on chiffre avec la clé publique (asymétrique) et avec lequel on chiffre le fichier (symétrique). Pour déchiffrer la fichier on retrouve le secret en le déchiffrant avec la clé privée. | ||
+ | <code bash> | ||
+ | # Create a random secret: | ||
+ | # - secret size must be compatible with RSA | ||
+ | # - use hex because base64 add newline | ||
+ | # which will shorter the secret in next commands | ||
+ | # because only first line will be used. | ||
+ | SECRET=`openssl rand -hex 64` | ||
+ | |||
+ | # blowfish may be faster in code implementation, | ||
+ | # but recent cpu embed hard coded aes which should be faster ;-) | ||
+ | # | ||
+ | ALGO=-aes256 | ||
+ | |||
+ | # encrypt the secret: | ||
+ | echo $SECRET \ | ||
+ | | openssl rsautl -encrypt -inkey / | ||
+ | # encrypt file with the secret: | ||
+ | echo $SECRET \ | ||
+ | | openssl enc $ALGO -pbkdf2 -salt -pass stdin -in $THE_FILE -out ${THE_FILE}.ssl | ||
+ | |||
+ | # decrypt the secret: | ||
+ | SECRET=`openssl rsautl -decrypt -inkey ~/ | ||
+ | # decrypt the file: | ||
+ | echo $SECRET \ | ||
+ | | openssl enc -d $ALGO -pbkdf2 -salt -pass stdin -in ${THE_FILE}.ssl -out ${THE_FILE}.clear | ||
+ | |||
+ | </ | ||
+ | |||
+ | Sources: | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
informatique/openssl.txt · Dernière modification : 17/08/2021 15:43 de cyrille