web-dev-qa-db-fra.com

forcer GPG-Agent à oublier le mot de passe

J'utilise GPG-Agent 2.0.17 avec GPG 1.4.11 sur Ubuntu 12.04 et l'addon Enigmail pour Thunderbird. Lors de l'ouverture d'un courrier électronique crypté, Enigmail invoque GPG-Agent avec le programme de pignontry associé et demande le mot de passe. J'ai alors la possibilité de définir la durée de vie du mot de passe mis en cache, généralement définie sur la fin de la session.

Depuis que je ferme rarement ou déconnecte de ma séance, je souhaite forcer GPG-Agent d'oublier tous les mots de passe mis en cache lors de la verrouillage de la session. J'ai cherché un moyen de le faire et la page de l'homme de GPG-Agent States, que A -sighup rincez tous les mots de passe - cependant, contrairement au MANPAGE, les mots de passe mis en cache ne sont pas oubliés.

Des idées sur la manière de forcer GPG-Agent à oublier les mots de passe?

11
Lars

J'utilise un simple:

echo RELOADAGENT | gpg-connect-agent

Travailler comme charme.

-

Édité: testé avec Debian 10, gpg 2.2.12, libgcrypt 1.8.4

4
Dr Beco

TTL pour le cache Motsworths est contrôlé par gpg-agent Options:

--default-cache-ttl n
  Set the time a cache entry is valid to n seconds.  The default is 600 seconds.

--max-cache-ttl n
  Set  the  maximum time a cache entry is valid to n seconds.  After
  this time a cache entry will be expired even if it has been accessed
  recently.  The default is 2 hours (7200 seconds).

Selon un moyen de contrôler cette demande à la demande, si vous êtes capable de déclencher une commande lors du verrouillage de votre écran, en utilisant Keychain pour gérer gpg-agent pourrait être utilisé pour exécuter

keychain --clear --agents gpg

ce qui tuerait toutes les instances gérées de GPG-Agent. Mais alors, vous devriez avoir un moyen d'exécuter keychain --agents gpg --eval $gpg Pour déverrouiller votre écran. Peut-être trop de tracas.

4
dawud

gpg-connect-agent reloadagent /bye

0
wisbucky

C'est ce qui a fonctionné pour moi dans le nettoyage d'un seul mot de passe (c'est-à-dire de la phrase secrète) - exécuté à partir du terminal - si vous souhaitez les effacer, alors https://superuser.com/a/1269901/457084 Travaux :

gpg-connect-agent "clear_passphrase --mode=normal <cacheid>" /bye

<cacheid> est probablement le keyngrip disponible si vous exécutez: gpg --list-keys --with-keygrip:

<path to pubring.kbx>
------------------------------------------------
pub   rsa2048 2017-12-11 [SC] [expires: 2019-12-11]
    <keyid>
    Keygrip = <keygrip>
uid          `<email>

Avec un peu d'aide de https://web.archive.org/web/20180528210236/https://demu.red/blog/2016/06/how-a-check-if-your-gpg- clé-is-in-cache /

0
Ben Creasy

Aucune des autres réponses ne fonctionnerait pour moi sur GNUPG 2.2.19 (SOLUS 4.1, NITROKEY SMART, Jeton Gnuk pour le stockage). Je m'étais assuré qu'un seul gpg-agent est en cours d'exécution et, le cas échéant, il répondrait avec OK.
[.____] Ce que j'ai fini par faire est:

killall gpg-agent

Vous devriez toujours test, si ce qui précède a réellement effectué les mots de passe oubliés en décryptant un fichier crypté (gpg -d < somefile.gpg)

0
Anthon