Como reimportar a chave gpg substituída por stub

2

Eu tenho uma subchave que foi movida para um cartão. Isso resultou em substituí-lo por um stub no chaveiro local. Isso significa que toda vez que tento usar essa subchave, fico:

gpg: public key decryption failed: Card error
gpg: decryption failed: No secret key

Gostaria de restaurar a chave de um backup agora. Como posso fazer isso?

Eu tentei gpg --edit-key ... e, em seguida, key n, toggle, delkey , mas quando tentei importar a chave novamente, ainda recebi a chave secreta inalterada:

gpg: Total number processed: 3
gpg:            new subkeys: 1
gpg:         new signatures: 1
gpg:       secret keys read: 3
gpg:  secret keys unchanged: 1

Como posso substituir meu stub local?

    
por viraptor 18.03.2015 / 07:50

1 resposta

4

Este é um problema conhecido com o GnuPG até a versão 2.0. Você não pode importar chaves secretas, se você já tiver alguma importada.

Como resolver o problema depende da sua situação. Backups necessários para todas as soluções!

  • Você já está usando o GnuPG 2.1.

    Você tem muita sorte, pois o problema não existe. Bem não. Obviamente você ainda não está usando o GnuPG 2.1, caso contrário você não teria tropeçado nesse problema. Mas você pode ser capaz de atualizar.

    Você pode até usá-lo no live CD do sime, importar tudo (mesclar automaticamente as chaves secretas) e, finalmente, exportar a chave mesclada. Agora, solte a chave em seu sistema normal e reimporte-a.

  • Você não adicionou nenhuma subchave, então seu backup inclui todas elas.

    Você tem sorte. Simplesmente exporte todas as suas certificações, usando gpg --export [key-id] > public-key.pgp . Agora, exclua completamente a chave usando gpg --delete-secret-and-public-keys [key-id] , importe seu backup seguido por a chave pública: gpg --import [backup-file] public-key.pgp .

  • Você alterou suas subchaves, então você precisa mesclá-las.

    Má sorte. O GnuPG não irá lidar com isso sozinho. Duas escolhas restantes:

    • Revogue as chaves modificadas e crie novas depois. Essa é a maneira mais fácil ...
    • Existe uma ferramenta de linha de comando chamada gpgsplit , que dividirá as chaves exportadas do GnuPG nos pacotes individuais. Se você tiver esses, você pode colocá-los juntos, incluindo todas as subchaves usando cat . Esteja ciente de usar a ordem correta de pacotes e não excluir algo realmente necessário!

      Embora isso seja possível, é definitivamente o caminho mais difícil e possivelmente exigirá a leitura um pouco mais na especificação OpenPGP para entender os diferentes pacotes e o que eles fazem.

por 18.03.2015 / 09:28