Como exibir a chave para um arquivo usando o OpenSSL?

2

Sou novato em criptografia para poder fazer alguma ajuda:

Estou tentando seguir um tutorial no site do MariaDB para criar uma chave aes-256-cbc para criptografar meus dados em repouso.

A linha que me diz para copiar e colar é esta:

enc -aes-256-cbc -md sha1 -k secret -in keys.txt -out keys.enc

Que neste caso me retornou isso.

Salted__›­}´3'ìe›‚Å)l‘»ŽWݧ

Não é o que eu preciso.

Se eu usar o comando de impressão, ele imprimirá a chave de que preciso. Agora, a chave é muito longa para ser copiada manualmente, portanto, preciso redirecionar a saída da chave para um arquivo. Alguém pode me ajudar a colocar o comando correto para colocar a chave no arquivo?

A chave é semelhante a esta:

770A8A65DA156D24EE2A093277530142

EDIT: Também não me permite copiar do prompt do CMD.

    
por user577439 31.03.2016 / 16:32

1 resposta

2

O comando que você usou criptografou o arquivo keys.txt com uma chave gerada a partir da senha ( secret ) que você forneceu (e um "salt" gerado aleatoriamente, a menos que você use a opção -nosalt também).

Eu não tenho certeza do que você realmente quer. Se você quiser que o openssl mostre a chave gerada a partir da sua senha / criptografia, você pode usar a opção -p (ou -P se você não quiser que a criptografia real continue). Você notará que a chave irá variar toda vez que você executar o comando, a menos que você use -nosalt .

Ou talvez o que você queira seja -base64 (embora não pareça ser o caso de acordo com o resultado da amostra mostrado), que codificará ainda mais o arquivo criptografado com um determinado algoritmo para que a saída seja ASCII string: link

Como você já deve ter percebido, se não quiser que a origem seja "contaminada" com um "cabeçalho de sal", você também pode querer -nosalt quando usar -base64 .

Se você quer apenas uma chave aleatória, você deve fazer algo assim:

enc -aes-256-cbc -pass file:/dev/urandom -P

Btw, quando você usa -p / -P , além de um key (e um salt ), você também verá um iv , que significa vector de inicialização .

    
por 31.03.2016 / 18:43