pass et gpg: Pas de key publique

J'utilise le laissez – passer depuis longtime; mais après l'export de mes clefs de stockage et de gpg vers une autre machine je vois la sortie suivante:

$ gpg --list-key /home/shved/.gnupg/pubring.gpg ------------------------------ pub 2048R/FA829B53 2015-04-28 uid [ultimate] Yury Shvedov (shved) <[email protected]> sub 2048R/74270D4A 2015-04-28 

Ma key imscope et approuvée, mais non utilisable:

 pass insert test Enter password for test: Retype password for test: gpg: 2048R/FA829B53: skipped: No public key gpg: [stdin]: encryption failed: No public key fatal: pathspec '/home/shved/.password-store/test.gpg' did not match any files 

Que puis-je faire pour utiliser à nouveau ma key?

pass utilise gnupg2, qui ne partage pas son trousseau de keys avec gnupg 1.x.

Importez vos keys à nouveau en utilisant gnupg2 au lieu de gnupg. Si vous avez déjà vos keys dans gnupg sur la machine cible exécutée:

 $ gpg --export-secret-keys > keyfile $ gpg2 --import keyfile 

Après l'import, vous devrez peut-être mettre à jour la confiance sur votre key. Vous devriez voir une Secret key is available. message si l'import a réussi:

 $ gpg2 --edit-key FA829B53 [...] Secret key is available. sec rsa4096/FA829B53 created: 2015-03-14 expires: 2017-03-13 usage: SC trust: unknown validity: ultimate ssb rsa4096/74270D4A created: 2015-03-14 expires: 2017-03-13 usage: E [ultimate] (1). Yury Shvedov (shved) <[email protected]> 

Maintenant, mettez à jour la confiance sur votre key:

 gpg> trust [...] Your decision? 5 Do you really want to set this key to ultimate trust? (y/N) y [...] gpg> save 

Ligne de sortie

 gpg: 2048R/FA829B53: skipped: No public key 

montre une mauvaise initialisation de la pass . Vous avez initialisé le pass avec la command pass init 2048R/FA829B53 alors que vous devriez le faire avec la command pass init FA829B53 . Pour résoudre le problème, vous devez modifier le contenu du file ~/.password-store/.gpg-id de 2048R/FA829B53 à FA829B53 et valider les modifications.

PS

Tous les conseils de @ Łukasz Lis sont corrects et vous devriez les compléter aussi. Dans d'autres cas, vous ne pourrez pas décrypter le pass:

 $ pass -c test 

va vous donner une erreur: gpg: decryption failed: No secret key

J'ai remarqué cela lors de la création d'un nouveau magasin et l'ai initialisé avec un identifiant key comme "2048R / FA829B53", ce que je pensais être comme par le passé, et en regardant une vieille sauvegarde, le .gpg_id est différent.

Cependant, maintenant, il semble que le FA829B53 soit utilisé, et dans les pages de manuel actuelles, l'auteur utilise son adresse e-mail.

Je voudrais vérifier le file gpg_id, pour moi dans un magasin frais c'est juste le FA829B53 et pas d'autres lignes