La documentation n'était pas très claire pour moi, mais elle avait la réponse, le défi était de ne pas pouvoir voir un exemple.
Voici comment procéder :
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -pass pass:somepassword
Notez que la syntaxe de la commande de ligne de commande est toujours -pass
suivi d'un espace, puis du type de phrase secrète que vous fournissez, c'est-à-dire pass:
pour la phrase de passe simple, puis la phrase de passe réelle après les deux-points sans espace.
De plus, la documentation précise que vous pouvez fournir d'autres sources de mots de passe en procédant comme suit :
env:somevar
pour obtenir le mot de passe d'une variable d'environnementfile:somepathname
pour obtenir le mot de passe de la première ligne du fichier à l'emplacementpathname
fd:number
pour obtenir le mot de passe à partir du numéro de descripteur de fichier.stdin
à lire depuis l'entrée standard
Maintenant que j'ai écrit cette question et cette réponse, tout semble évident. Mais il a certainement fallu un certain temps pour comprendre et j'en avais vu d'autres prendre le même temps, alors j'espère que cela pourra réduire ce temps et répondre plus rapidement pour les autres! :)
Avec OpenSSL 1.0.1e le paramètre à utiliser est -passin
ou -passout
. Donc cet exemple serait :
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -passin pass:somepassword
J'ai utilisé -passin
et -passout
pour définir des mots de passe pour les deux fichiers dans l'exemple :
openssl pkcs12 -in voip.p12 -out voip.pem -passin pass:123 -passout pass:321
où 123
et 321
sont mot de passe
En ce moment, Ubuntu 14.04 LTS est livré avec openssl 1.0.1f-1ubuntu2.16
Dans cette version le paramètre à utiliser est -k
Exemple :
openssl enc -aes-256-cbc -e -in some_file.unenc -out some_file.enc -k somepassword