
Estou tentando descriptografar um arquivo com GnuPG, mas ao usar o comando abaixo:
gpg --decrypt filename.gpg
Recebo a seguinte mensagem:
gpg: encrypted with RSA key, ID 3662FD5E
gpg: decryption failed: No secret key
Já tenho a chave privada com a qual o arquivo foi criptografado, mas não sei como posso especificá-la. Existe alguma opção que eu possa incluir ao fazer a descriptografia para apontar para essa chave?
Responder1
Já tenho a chave privada com a qual o arquivo foi criptografado, mas não sei como posso especificá-la.
Entendo isso como "Tenho um arquivo contendo a chave privada, mas não sei como dizer ao GnuPG para usá-lo".
O GnuPG exige que as chaves (públicas e privadas) sejam armazenadas no chaveiro do GnuPG. Isto é tão fácil quanto
gpg --import [keyfile]
Depois disso, você poderá descriptografar o arquivo exatamente da maneira que já tentou.
Responder2
bash-4.2$ gpg --import b_secret.key
gpg: key 23E7859B: already in secret keyring
gpg: Total number processed: 1
gpg: secret keys read: 1
gpg: secret keys unchanged: 1
bash-4.2$ gpg --decrypt b_txt.asc
gpg: key 23E7859B: secret key without public key - skipped
gpg: encrypted with RSA key, ID 04702E37
gpg: decryption failed: secret key not available
Responder3
Você não precisa declarar expressamente a chave secreta no comando gpg decrypt. Se o par de chaves - ambos públicosEChaves privadas - como Jens afirma estão presentes no chaveiro do host onde você está descriptografando,O GPG determinará automaticamente a chave secreta necessária para descriptografia e apresentará um desafio de senha.
NO ENTANTOse você deseja testar todas as chaves (não armazenadas em cache) (talvez você esteja testando um arquivo criptografado com várias chaves), usar o switch --try-all-secrets
percorrerá todas as chaves secretas do seu chaveiro, testando-as uma a uma. ou seja:
gpg -d --try-all-secrets test-gpg.txt.asc
HTH - Terrence