Como criptografar conteúdo para arquivo a partir do prompt do batch no GnuPG?

0

Estou usando o comando abaixo para criptografar uma string para um arquivo, mas ela sempre falha com a mensagem de erro "gpg --encrypt needs input".

gpg.exe --batch --passphrase-fd 0 --armor --sign --recipient [email protected] --homedir "c:\gnupg" --encrypt 1 > "test.gpg"

Alguma idéia?

    
por Bharani 02.09.2016 / 10:46

1 resposta

1

O GnuPG sempre espera entrada de um arquivo ou de STDIN. Para passar uma string para STDIN, use ECHO em sistemas Windows ou echo em sistemas unix e canalize em gpg :

ECHO 1 | gpg [other options] --encrypt
echo 1 | gpg [other options] --encrypt

Como você já espera que a senha do descritor de arquivo 0 (que é STDIN), você terá que

  • fornecer senha e dados a serem assinados de outro local
  • pipe em ambas as strings separadas por um caractere de nova linha, o que é fácil com sh / bash em sistemas unix ( echo -e "passphrase\ndata" | gpg --sign --encrypt ), mas requer uma solução bastante hacky no Windows (não estou muito familiarizado com o prompt de comando do Windows, mas provavelmente você terá que escolher uma das soluções com o comando ECHO único).
por 02.09.2016 / 11:05

Tags