2014-12-14 13 views
10

Dopo aver impostatoNo chiave segreta al momento della firma con git

$ gpg --list-keys 
/home/pablo/.config/gnupg/pubring.gpg 
------------------------------------- 
pub rsa4096/46F257F2 2014-09-16 [expires: 2015-09-16] 
uid  [ultimate] Pablo Olmos de Aguilera Corradini (Personal) <[email protected]> 

e mettendo l'informazioni gitconfig:

[user] 
    name = Pablo Olmos de Aguilera Corradini 
    email = [email protected] 
    signinkey = 46F257F2 
[commit] 
    gpgsign = true 

ottengo:

gpg: skipped "Pablo Olmos de Aguilera Corradini <[email protected]>": No secret key 
gpg: signing failed: No secret key 
error: gpg failed to sign the data 
fatal: failed to write commit object 

Come si può vedere le chiavi in ​​realtà esiste (vengono visualizzati anche quando si esegue gpg --list-secret-keys). Se rimuovo tutto da gitconfig e provo a farlo solo con -S, ottengo lo stesso errore, il che mi fa pensare che git stia passando il mio nome utente e l'email a gpg, e lo uid include il "commento" (Personal), quindi non ho trovato alcun:

$ gpg --list-keys "Pablo Olmos de Aguilera Corradini <[email protected]>" 
gpg: error reading key: No public key 

non sono sicuro se questo è un bug da git, o è il risultato atteso e mi manca qualcosa :).

PS.- La mia ipotesi è che potrei creare un altro uid ma senza un commento, e dovrebbe funzionare.

+0

Per la firma è necessaria solo la chiave segreta. Pertanto l'output di 'gpg --list-keys' è irrilevante. – michas

+0

Stai utilizzando lo stesso utente per elencare le chiavi e provare a firmare con git? –

risposta

8

C'è un errore di battitura nel tuo gitconfig. Dovrebbe essere signingkey, non signinkey

+4

Questo è uno dei motivi per cui dovresti usare 'git config' invece di modificare manualmente le voci nel file' .gitconfig'. – Jubobs

+0

ARGH, è stupido. In realtà ho usato 'git config', ma sembra che ho fatto quel cambiamento a mano senza accorgertene: C. Contrassegnare ovviamente la tua risposta come accettata. –

Problemi correlati