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:somevar
per ottenere la password da una variabile d'ambientefile:somepathname
per ottenere la password dalla prima riga del file nella posizionepathname
fd:number
per ottenere la password dal numero del descrittore di file.stdin
da 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