gpg2 e assinatura do git

0

Eu tenho um problema com gpg2 e assino meus commits no git. Eu deveria começar tudo isso dizendo que tudo funcionou ontem antes de eu fazer um apt-get update && apt-get upgrade e um reboot.

Agora, quando tento assinar meus commits, recebo a seguinte mensagem de erro:

gpg: skipped "3C27FEA3B5758D9E": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

Na verdade, parece que consigo quando tento esconder minhas alterações também.

Quando eu faço um pgrep eu posso ver que o gpg-agent está rodando, então eu o matei e reiniciei.

Eu também tenho isso no meu arquivo .bashrc :

export GPG_TTY=$(tty)

Saída de gpg2 --list-keys /home/mdhas/.gnupg/pubring.gpg :

------------------------------
pub   rsa2048/FBJJJJ1C 2017-10-11 [SC]
uid         [ultimate] Mark Dhas <[email protected]>
sub   rsa2048/3FDJJJJJ 2017-10-11 [E]

pub   rsa2048/BFJJJJJ7 2017-11-17 [SC]
uid         [ultimate] Mark Dhas <[email protected]>
sub   rsa2048/DEDDJJJJ 2017-11-17 [E]

pub   rsa4096/7137JJJJ 2017-10-11 [SC] [expires: 2021-10-11]
uid         [ unknown] co.co <[email protected]>
sub   rsa4096/A9BJJJJJ 2017-10-11 [E] [expires: 2021-10-11]

pub   rsa4096/B57JJJJJ 2018-10-31 [SC] [expires: 2021-10-31]
uid         [ unknown] Mark Dhas (New Key-Created on 2018-10-31) <[email protected]>
sub   rsa4096/36FJJJJJ 2018-10-31 [E] [expires: 2021-10-31]

Por favor, ignore o JJJJJ eles são uma tentativa de uma pequena quantidade de redação para fins de segurança.

$ gpg2 --list-secret-keys
/home/mdhas/.gnupg/pubring.gpg
------------------------------
sec   rsa2048/FBJJJJ1C 2017-10-11 [SC]
uid         [ultimate] Mark Dhas <[email protected]>
ssb   rsa2048/3FDJJJJJ 2017-10-11 [E]

E esta é uma seção da configuração do meu git

user.name=Mark Dhas
[email protected]
user.signingkey=3C2JJJJJJJJJJJJJ
core.editor=vim
gpg.program=/usr/bin/gpg2

Qualquer ideia sobre como corrigir esse problema seria ótima.

    
por Mark D 31.10.2018 / 19:22

1 resposta

2

Você não tem a parte privada da sua chave GPG. Uma chave GPG consiste em uma chave pública, a informação que outros computadores podem usar para verificar assinaturas vindas de você e a chave privada, a parte necessária para criar uma assinatura ou descriptografar as mensagens enviadas para você. É por isso que o Git está lhe dando um erro. Não é possível obter a chave privada para assinar o commit. Sua única opção é encontrar um backup da chave inteira (uma que inclua a chave privada) ou criar uma nova chave.

    
por 31.10.2018 / 21:26

Tags