baffled at "Chapter 1. Getting Started" due to gpg: agent_genkey failed: No pinentry

Dennis Clarke dc at genunix.com
Sat Jul 20 12:08:50 CEST 2024


On 7/20/24 03:10, Andreas Metzler wrote:
> On 2024-07-20 Dennis Clarke via Gnupg-users <gnupg-users at gnupg.org> wrote:
>> Looking at https://www.gnupg.org/gph/en/manual/c14.html one would get
>> the idea that GPG would "just work" given that pinentry is right there
> 
>> oberon$ which pinentry
>> /usr/local/bin/pinentry
> [...]
> 
> Hello,
> 
> afaik gnupg does not search for the helpers on PATH, their location is
> built into the binary, running gpgconf should show where it is looking.
> 

Thank you .. that seems to reveal a few things.

This "--list-dirs" seems to be correct :

oberon$ gpgconf --list-dirs
sysconfdir:/usr/local/etc/gnupg
bindir:/usr/local/bin
libexecdir:/usr/local/libexec
libdir:/usr/local/lib/gnupg
datadir:/usr/local/share/gnupg
localedir:/usr/local/share/locale
socketdir:/run/user/16411/gnupg
dirmngr-socket:/run/user/16411/gnupg/S.dirmngr
keyboxd-socket:/run/user/16411/gnupg/S.keyboxd
agent-ssh-socket:/run/user/16411/gnupg/S.gpg-agent.ssh
agent-extra-socket:/run/user/16411/gnupg/S.gpg-agent.extra
agent-browser-socket:/run/user/16411/gnupg/S.gpg-agent.browser
agent-socket:/run/user/16411/gnupg/S.gpg-agent
homedir:/home/dclarke/.gnupg
oberon$


However this seems to be very confused about where pinentry is :

oberon$ gpgconf --list-components
gpg:OpenPGP:/usr/local/bin/gpg
gpgsm:S/MIME:/usr/local/bin/gpgsm
keyboxd:Public Keys:/usr/local/libexec/keyboxd
gpg-agent:Private Keys:/usr/local/bin/gpg-agent
scdaemon:Smartcards:/usr/local/libexec/scdaemon
dirmngr:Network:/usr/local/bin/dirmngr
pinentry:Passphrase Entry:/usr/local

The last line there seems to be missing "/bin/pinentry".

Yep .. that is borked :

oberon$ gpgconf --check-programs
gpgconf: error running '/usr/local': probably not installed
gpg:OpenPGP:/usr/local/bin/gpg:1:1:
gpgsm:S/MIME:/usr/local/bin/gpgsm:1:1:
keyboxd:Public Keys:/usr/local/libexec/keyboxd:1:1:
gpg-agent:Private Keys:/usr/local/bin/gpg-agent:1:1:
scdaemon:Smartcards:/usr/local/libexec/scdaemon:1:1:
dirmngr:Network:/usr/local/bin/dirmngr:1:1:
pinentry:Passphrase Entry:/usr/local:0:0:
oberon$

Even more curious is the missing config file :

oberon$
oberon$ gpgconf --list-config
gpgconf: can't open global config file 
'/usr/local/etc/gnupg/gpgconf.conf': No such file or directory
oberon$

So I guess I need to read a pile of manpages and figure out how
to create a config file that tells gpg where things are. This is
bizarre behavior on a UNIX/Linux system where I guess the PATH
just does not matter much. Then again .... I don't know.


-- 
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken




More information about the Gnupg-users mailing list