web-dev-qa-db-fra.com

GPG dit qu'il a besoin d'un mot de passe mais il ne le fait pas

J'essaie d'utiliser GPG pour signer des fichiers, mais quelque chose me déroute: si j'entre dans le terminal (le fichier que je veux signer s'appelle "checksums"), il est écrit:

$ gpg -s checksums
You need a passphrase to unlock the secret key for
user: "[my name] <[my email prefix]@gmail.com>"
4096-bit RSA key, ID C457C71D, created 2015-01-16

Cependant, il ne me demande pas de saisir mon mot de passe mais effectue simplement le processus de signature. Pourquoi donc?

7
UTF-8

GnuPG utilise gpg-agent pour mettre en cache votre phrase secrète. Cela nécessite nécessite la phrase secrète pour la signature (il s'agit d'une opération de clé privée) et imprime donc le message, mais il n'est pas nécessaire de vous demander, car la phrase secrète était toujours en cache. Si et combien de temps le cache fonctionne peut être configuré.

gpg-agent

gpg vérifie s'il existe un gpg-agent en cours (ou, dans les versions plus récentes, en commence nécessairement un). gpg-agent met (entre autres choses) en cache votre phrase secrète pour un temps donné.

Configuration

Ce laps de temps peut être configuré dans ~/.gnupg/gpg-agent.conf, qui dans mon cas contient une ligne

default-cache-ttl 600

pour définir le temps de cache sur dix minutes (10 * 60 secondes). Des options supplémentaires sont décrites dans man gpg-agent; la plupart des options peuvent également être utilisées dans gpg-agent.conf en omettant le -- initial.

5
Jens Erat

Comme il existe un agent gpg qui met votre mot de passe en cache pendant un certain temps, si vous utilisez plusieurs fois gpg, vous ne devez entrer votre mot de passe que la première fois. Il sera ensuite mémorisé et utilisé automatiquement lors des exécutions suivantes.

0
psusi