OpenSSL

From Tuxunix
Jump to: navigation, search

Méthode de cryptage pour mot de passe

  • Le but de cette méthode est de ne pas inscrire un mot de passe dans un script et que l'utilisateur du script ne connaissent pas le véritable mot de passe.


Le véritable mot de passe est crypté via openssl en AES 256 bits, pour le décoder on défini un nouveau mot de passe qui sera demandé à chaque appel du script.

  • Encoder le mot de passe :
#> echo "xxxveritableMDPxxxxx" | openssl enc -out test -aes256
enter aes-256-cbc encryption password: [Entrer mot de passe pour utilisation du script]
Verifying - enter aes-256-cbc encryption password: [Entrer mot de passe pour utilisation du script]

On ré-encode en base64

#> cat test |base64
Chaîne de cryptage à ajouter dans le script : aCrypt="U2FsdGVkX1+13CrGtv+c8jy6Z+GV734CkRHaTMIxHpRlmuYjGOBIKhddqyJO6CPO"
  • Décoder le mot de passe :
#> echo ${aCrypt} | base64 -di |openssl enc -d -aes256
enter aes-256-cbc decryption password: [Entrer mot de passe pour utilisation du script]

Utilisation dans un script

aCrypt="dsfsdfddslkjoijfsdohuioé_ç+ilfsjo-_bZj48l+sjtjvCxwI3XianME"

echo -e "Connect to API."
login_API="$1"
echo -e "${yellow}Waiting password to connect API... ${init}"
#si la variable d'env (vPass) existe alors pas besoin de saisie sinon saisie
if [ ! -z "${vPass}" ]; then
       pwd_API=$(echo ${aCrypt} | base64 -di |openssl enc -d -aes256 -pass pass:$vPass)
else
       pwd_API=$(echo ${aCrypt} | base64 -di |openssl enc -d -aes256)
fi