gpg: “chave secreta não disponível” quando a chave sec & pub está no keyring

5

Recebi um arquivo criptografado com a chave pública que geramos, mas não consigo descriptografá-lo.

Etapas:

  1. gpg --gen-key opções padrão
  2. gpg --export -a <email> > pub.key
  3. enviou o pub.key
  4. recebeu o arquivo criptografado
  5. cat <file> | gpg

O erro:

$ cat cred.gpg | gpg
gpg: key 71980D35: secret key without public key - skipped
gpg: encrypted with RSA key, ID 0D54A10A
gpg: decryption failed: secret key not available

No entanto, a chave secreta existe no meu chaveiro e a chave pública que eu gero dela corresponde à impressão digital da chave pub.key que eu enviei para o meu colega de trabalho.

$ gpg --list-secret-keys 
/home/jcope/.gnupg/secring.gpg
------------------------------
sec   2048R/71980D35 2016-03-04
uid                  me <email>
ssb   2048R/0D54A10A 2016-03-04

Verificando a impressão digital

    $ gpg --with-fingerprint pub.key 
    pub  2048R/AF0A97C5 2016-03-04 me <email>
          Key fingerprint = 17A4 63BF 5A7D D3B2 C10F  15C0 EDD6 4D8A AF0A 97C5
    sub  2048R/1103CA7C 2016-03-04
$ gpg --fingerprint | grep 17a4 -i
      Key fingerprint = 17A4 63BF 5A7D D3B2 C10F  15C0 EDD6 4D8A AF0A 97C5

Eu sou um gpg newby e não sei porque isso não está funcionando. Parece ser a operação mais padrão.

    
por jonRH 05.03.2016 / 19:18

1 resposta

2

Observe a mensagem de erro: ela não diz que a chave secreta está faltando (não está), ela diz que a chave pública está faltando.

gpg: key 71980D35: chave secreta sem chave pública - skipped

No RSA, alguns números (d, p, q, u) são privados e outros (n, e) são públicos. Apenas os 2 números públicos são necessários para criptografia e verificação de assinatura, enquanto todos os 6 números são necessários para descriptografar e assinar. Então, para as últimas operações, você realmente precisa das chaves secreta e pública.

A chave pública foi excluída do pubring por acidente?

Você pode tentar reimportar a chave pública. Como a chave pública é aquela que é distribuída amplamente, deve ser fácil obter uma cópia dela.

    
por 05.03.2016 / 20:08