WSL2: Gpg4win pinentry not available after PIN cache expires
David Tagatac
david at tagatac.net
Fri May 31 04:15:00 CEST 2024
Hello,
My use case is:
- Sign git commits in WSL2(Debian)
- gpg-agent uses Gpg4win's pinentry GUI to allow PIN entry
This works well immediately after restarting my Windows PC. However, after
the PIN cache expires (currently set to 86400 seconds), signing commits
fails with
> ❯❯❯ gpg-agent
> gpg-agent[11881]: gpg-agent running and available
> ❯❯❯ git ci -S -m "asdf"
> error: gpg failed to sign the data
> fatal: failed to write commit object
>
gpg-agent.conf in WSL2:
> ❯❯❯ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 86400
> max-cache-ttl 86400
> pinentry-program "/mnt/c/Program Files (x86)/GnuPG/bin/pinentry-basic.exe"
Versions:
- Windows 11 build 22631.3593
- Gpg4win 4.3.1
- [WSL2/Debian] gpg-agent (GnuPG) 2.2.40
Things that don't fix the issue:
- Reinstall Gpg4win
- taskkill /f /im kleopatra.exe; taskkill /f /im gpg-agent.exe; taskkill
/f /im scdaemon.exe; (And start Kleopatra again)
- gpgconf --kill gpg-agent
- wsl --shutdown
Things that do fix the issue:
- Restart the PC
- Use pinentry-curses
- Use pinentry-tty
Is this a known issue, or can anyone offer any hints for debugging?
Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnupg-users/attachments/20240530/4a7bb243/attachment.html>
More information about the Gnupg-users
mailing list