Pourquoi gpg est-il contrarié et comment puis-je l'arrêter?

24

J'ai récemment migré d'une installation d'Ubuntu à une autre et, dans le processus, j'ai changé mon nom d'utilisateur. J'ai importé ma paire de clés publique / privée dans gpg, et bien que le déchiffrement (en utilisant ma clé privée) fonctionne correctement, chaque fois que j'essaie de chiffrer quelque chose avec ma clé publique, j'obtiens le message d'avertissement suivant:

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Après cela, il me demande si je veux vraiment utiliser la clé (je réponds toujours "oui", car c'est en fait la seule clé de mon trousseau et je sais d'où elle vient). Je peux décrypter des trucs très bien, alors pourquoi gpg lance-t-il un sifflement chaque fois que j'essaie de crypter quelque chose? Et comment puis-je empêcher ce message de réapparaître?

fouric
la source
Faites l'une des réponses à cette question plus ancienne à l'aide de stackoverflow
Paul
@Paul, oui, ce lien a aidé un peu. J'ai défini le niveau de «confiance» de ma clé comme ultime, et cela semble avoir résolu le problème. Mais quel était le problème? Pourquoi cela se produisait-il et ai-je résolu le problème ou simplement atténué les symptômes?
Fouric
Désolé InkBlend, je crains que ma capacité à passer au crible et à comparer les résultats de recherche dépasse ma connaissance de pgp dans ce cas, d'où ma non-tentative de réclamer cela comme réponse. Il semble cependant que Garrett sait ce qui se passe.
Paul

Réponses:

16

J'ai réussi à reproduire le problème que vous rencontrez. Je l'ai fait en procédant comme suit:

$ gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --gen-key

<specified parameters and let it do its thing>

gpg: key 58018BFE marked as ultimately trusted
public and secret key created and signed.

<snip>

$

Notez que le processus a marqué la clé comme "finalement fiable".

Maintenant j'exporte les clés:

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export-secret-keys -a >private.key

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export -a > public.key

Maintenant, j'importe dans une nouvelle base de données gpg:

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import public.key

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import private.key

Maintenant, si j'essaie de chiffrer en utilisant les nouveaux porte-clés, j'obtiens:

$ gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file -r Fake -e
gpg: AE3034E1: There is no assurance this key belongs to the named user

pub  1024R/AE3034E1 2013-06-13 Fake User <[email protected]>
 Primary key fingerprint: AD4D BAFB 3960 6F9D 47C1  23BE B2E1 67A6 5801 8BFE
      Subkey fingerprint: 58F2 3669 B8BD 1DFC 8B12  096F 5D19 AB91 AE30 34E1

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

La raison en est le modèle du «réseau de confiance». Par défaut, pour qu'une clé publique soit approuvée, elle nécessite soit 1 certificat de confiance "ultime" (généralement lorsque vous avez personnellement vérifié l'identité des personnes impliquées), soit 3 certificats de confiance "marginaux" (lorsque quelqu'un que vous connaissez, qui connaît quelqu'un que vous connaissez ... a signé le certificat).

Étant donné que gpg est une application de sécurité, il vous avertit si vous essayez de chiffrer une clé qui n'est pas répertoriée comme approuvée. La raison pour laquelle votre propre clé n'est pas approuvée dans ce cas est simple. C'est parce que vous n'avez pas exporté les relations d'approbation de l'instance gpg précédente. Pour ce faire, utilisez les commandes --export-ownertrust et --import-ownertrust.

Comme toujours, reportez-vous à la page de manuel .

Garrett Kajmowicz
la source
1
L'essentiel est que toutes les données sur la confiance des clés soient stockées séparément du trousseau de clés (à la fois secret et public)! ~/.gnupg/trustdb.gpgcontient la base de données de confiance, pubring.gpgles clés publiques et secring.gpgles clés secrètes. Veuillez vous référer à la documentation GnuPG à ce sujet .
gertvdijk
28

J'ai rencontré le même problème mais je n'avais plus accès à l'ancienne clé. Vous pouvez donc recréer la confiance sur votre ancienne clé avec ceci:

gpg --edit-key [email protected]
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
Kevin Lyda
la source
OP a fait cela (noté dans les commentaires), mais c'est bien de l'avoir indiqué comme réponse.
muru
7

Vous pouvez utiliser l' --always-trustindicateur pour ignorer ce message.

Paul Baltescu
la source
1
C'est absolument vrai, mais cela enlève simplement les symptômes, pas la maladie. Votre solution est comme prendre de l'aspirine parce que vous avez un cancer ...
Fabby
2
--always-trustest une bonne solution dans certains cas , mais si la clé en question est vraiment la clé de l'utilisateur, alors il faut lui accorder la confiance ultime.
Blacklight Shining
4
Ma maladie est l'insistance obstinée de GPG sur un trousseau de clés qui fout le chiffrement de mes fichiers programmatiques, et ce de différentes manières sur chaque machine virtuelle sur laquelle j'installe le logiciel.
bbozo
@BlacklightShining et si je n'ai pas encore pu le vérifier, Evolution ne permet pas de crypter les mails à cette adresse. Aucune idée pourquoi le cryptage d'un texte à quelqu'un nécessite une confiance absolue - et avec une confiance juste marginale ne devrait pas être possible.
Izzy