Descriptografar arquivo tenta usar a subchave e, em seguida, fornece o erro 'Nenhuma chave secreta'

0

Usando: gpg (GnuPG) 2.0.22 libgcrypt 1.5.3

Estou tentando descriptografar um arquivo de um site remoto. Eu exportei nossa chave para um arquivo. gpg <filename> retorna: (IDs de chave alterados)

pub 2048R/656CC421 2018-04-19
sub 2048R/99F89J32 2018-04-19

Enviei-o ao remetente e pedi-lhe para importar, assinar e confiar nele.

Eles me enviaram dois arquivos-chave diferentes. Usando gpg <filename> retorna:

1. pub 2048R/62568LK1 2015-09-03

2. pub 2048R/J561VE25 2015-09-23

Se eu fizer uma edição, recebo o seguinte:

Minha chave:

Secret key is available.

pub 2048R/656CC421 created: 2018-04-19 expires: never usage: SC
trust: ultimate validity: ultimate
sub 2048R/99F89J32 created: 2018-04-19 expires: never usage: E
[ultimate] (1).

Suas chaves:

1. pub 2048R/62568LK1 created: 2015-09-23 expires: never usage: SCE
trust: full validity: full
[ full ] (1).

2. pub 2048R/99F89J32 created: 2015-09-03 expires: never usage: SC
trust: full validity: full
[ full ] (1).

Estou executando o comando decrypt em um script bash com os seguintes parâmetros.

echo $passphrase | /usr/bin/gpg --verbose --passphrase-fd 0 --no-tty --output $output_file --recipient myuser --decrypt $input_file

A seguir, a saída do comando:

Version: GnuPG v1.2.4 (MingW32)
gpg: armor header:
gpg: public key is 99F89J32
gpg: using subkey 99F89J32 instead of primary key 656CC421
gpg: using subkey 99F89J32 instead of primary key 656CC421
gpg: cancelled by user
gpg: encrypted with 2048-bit RSA key, ID 99F89J32, created 2018-04-19
"usrname (Description) <[email protected]>"
gpg: public key decryption failed: Operation cancelled
gpg: decryption failed: No secret key

Minha conclusão de tudo isso é que o remetente precisa me enviar sua chave pública no mesmo formato que enviei para ela. Tais como:

pub 2048R/J561VE25 2015-09-23

sub 2048R/SOM3NUMB 2015-09-23

Meu pensamento é que os arquivos de chave que eles me enviaram não têm as informações de publicação / assinatura correspondentes e, portanto, o gpg não pode validar porque eu só tenho uma parte das informações de seu par de chaves.

Alguém pode me dizer se estou errado nisso ou se meus pensamentos estão corretos?

Obrigado!

    
por Noobux 19.07.2018 / 22:01

2 respostas

0

Version: GnuPG v1.2.4 (MingW32)

Bolas sagradas antigas - a versão 1.2.4 foi lançada em 2003 . O remetente não liga muito para atualizar seu software de segurança, parece.

(seu próprio 2.0.22 não está muito melhor, com 2013 como data de lançamento).

gpg: public key is 99F89J32
gpg: using subkey 99F89J32 instead of primary key 656CC421
gpg: using subkey 99F89J32 instead of primary key 656CC421

Isso é normal. O par de chaves "principal" é usado apenas para assinar (ou certificar) outras chaves; muitas vezes também para assinar mensagens. Não é utilizável para criptografia - você sempre tem uma subchave para essa finalidade.

(A separação também permite coisas como assinatura offline ou rotação frequente de chaves de criptografia.)

gpg: cancelled by user
gpg: encrypted with 2048-bit RSA key, ID 99F89J32, created 2018-04-19 "usrname (Description) <[email protected]>"
gpg: public key decryption failed: Operation cancelled
gpg: decryption failed: No secret key

Parece que o GnuPG tentou exibir um aviso de frase secreta para desbloquear seu par de chaves , mas a janela de frase secreta não foi aberta ou você a cancelou acidentalmente.

O prompt de senha é mostrado pelo componente pinentry do GnuPG, que por sua vez é iniciado via gpg-agent . Eu realmente não sei onde começar a solução de problemas que no Windows - talvez uma versão mais recente funcionaria melhor. (Seu GnuPG 2.0.22 foi lançado em 2013).

Versões mais recentes, iniciando com o GnuPG 2.1, suportam um modo de "pinback de loopback" que pode funcionar sem o componente pinentry . Se a atualização não ajudar sozinha, tente ativar essa opção.

that the sender needs to send me their public key

A chave pública do remetente é inútil para descriptografia e é necessária apenas para verificação de assinatura.

Such as:

pub 2048R/J561VE25 2015-09-23

My thought it that the key files they sent me don't have the corresponding pub/sub info and therefore gpg can't validate because I only have one part of their keypair's information.

Não. Esta informação destina-se a você , o usuário - resume o tipo da chave, o ID curto (inútil) e a data de expiração. O GnuPG pode perfeitamente extraí-lo da própria chave, não de que ela precise.

    
por 20.07.2018 / 10:08
0

Bem depois de muito tempo atrás & Depois, encontrei a solução em duas alterações.

  1. O gpg-agent.conf precisava ter pinentry-program /usr/bin/pinentry-curses adicionado a ele.

  2. O criador de scripts precisava adicionar --batch à sua linha de comando.

Uma vez que isso foi feito, o gpg foi capaz de obter a chave secreta e decifrar.

Obrigado ao grawity por responder. Seu tempo é apreciado.

    
por 08.08.2018 / 22:26

Tags