Estou trabalhando em um pequeno script que criptografa um arquivo a ser enviado para um de nossos fornecedores.
O fluxo de trabalho é o seguinte:
Aqui estão os comandos usados:
NO LINUX
openssl rand -base64 30 > my.key
chmod 700 my.key
openssl enc -aes-256-cbc -in myfile.zip -out myfile.bin -kfile my.key
openssl rsautl -encrypt -pubin -inkey supplier_key.pem -in my.key -out encrypted.key
NO WINDOWS
openssl\bin\openssl.exe rand -base64 30 > my.key
openssl\bin\openssl.exe enc -aes-256-cbc -in myfile.zip -out myfile.bin -kfile my.key
openssl\bin\openssl.exe rsautl -encrypt -pubin -inkey supplier_key.pem -in my.key -out encrypted.key
Temos que fazer isso porque o arquivo é muito grande para ser assimétrico.
Para fazer isso, eu estava no começo em um ambiente cygwin e estava funcionando perfeitamente. Mas agora, tenho que executá-lo em um ambiente Windows completo. Eu adaptei o script e baixei o programa openssl para windows.
Mas, quando nosso fornecedor recebe o arquivo, a etapa 6) não está funcionando: /
Eles têm esse erro:
> bad decrypt 6566:error:06065064:digital envelope
> routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:325:
Eu não mudei absolutamente nada para o modo de trabalho, o script é basicamente o mesmo, então eu não vejo porque a descriptografia do arquivo não está funcionando (eles podem decifrar a chave)