Você tem um erro no seu comando. A opção -k
requer uma senha.
Da página man enc
:
-k password the password to derive the key from. This is for compatibility with previous versions of OpenSSL. Superseded by the -pass argument.
Como você pode ver, a opção foi substituída pela opção -pass
. Portanto, um comando interativo melhor para você seria (note a falta da opção -k
):
openssl enc aes-256-cbc -a -salt -in "Cert.p12" -out "Cert.p12.encrypted"
ponto em que ele solicitará uma senha. Se você precisar ter a senha em um script (o que é perigoso), use a opção -k
ou a mais recente -pass pass:<your password>
. Leia a seção man openssl
PASS PHRASE ARGUMENTS
para formas mais seguras de passar a senha.
Observe que você pode eliminar o enc
, que é implícito quando você especifica uma cifra e -salt
, que é ativado por padrão. Você pode, portanto, usar:
openssl aes-256-cbc -a -in "Cert.p12" -out "Cert.p12.encrypted"
A opção padrão para openssl
é criptografar, portanto, você não precisa instruí-la para isso. No entanto, para descriptografar você precisa adicionar a opção -d
:
openssl aes-256-cbc -d -a -in "Cert.p12.encrypted" -out "Cert.p12.copy"