La documentazione non mi era molto chiara, ma conteneva la risposta, la sfida era non riuscire a vedere un esempio.
Ecco come farlo:
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -pass pass:somepassword
Si noti che la sintassi dei comandi della riga di comando è sempre -pass seguito da uno spazio e quindi dal tipo di passphrase che stai fornendo, ad esempio pass: per la passphrase semplice e poi la passphrase vera e propria dopo i due punti senza spazi.
Inoltre, la documentazione specifica che puoi fornire altre fonti di passphrase procedendo come segue:
env:somevarper ottenere la password da una variabile d'ambientefile:somepathnameper ottenere la password dalla prima riga del file nella posizionepathnamefd:numberper ottenere la password dal numero del descrittore di file.stdinda leggere dallo standard input
Ora che ho scritto questa domanda e risposta, sembra tutto ovvio. Ma sicuramente ci è voluto del tempo per capirlo e ho visto che altri impiegano un tempo simile, quindi spero che questo possa ridurre quel tempo e rispondere più velocemente per gli altri! :)
Con OpenSSL 1.0.1e il parametro da utilizzare è -passin o -passout . Quindi questo esempio sarebbe:
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -passin pass:somepassword
Ho usato -passin e -passout per impostare le password per entrambi i file nell'esempio:
openssl pkcs12 -in voip.p12 -out voip.pem -passin pass:123 -passout pass:321
dove 123 e 321 sono password
In questo momento Ubuntu 14.04 LTS viene fornito con openssl 1.0.1f-1ubuntu2.16
In questa versione il parametro da usare è -k
Esempio:
openssl enc -aes-256-cbc -e -in some_file.unenc -out some_file.enc -k somepassword