I can't reproduce this. I'm using pinentry 0.9.5 and GnuPG from git. When I
generate a key, it talks nearly 3 minutes for GnuPG to gather the required
amount of entropy, but it eventually returns. Attaching to gpg-agent using gdb,
it appears that gpg-agent is "suck" in the generate key function:
#9 0x00007f13a08da9ce in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.20 (gdb) #10 0x00007f13a08ca2db in gcry_pk_genkey () from /lib/x86_64-linux-gnu/libgcrypt.so.20 (gdb) #11 0x000000000041f51f in agent_genkey (ctrl=0x1b69e80, cache_nonce=0x0, keyparam=0x7f1398001e70 "(genkey(rsa(nbits 4:1024)))", keyparamlen=27, no_protection=0, override_passphrase=0x0, preset=0, outbuf=0x7f139fccfdb0) at ../../../gnupg/agent/genkey.c:479 479 rc = gcry_pk_genkey (&s_key, s_keyparam );
So, I seriously doubt that this is a problem with pinentry. And also I doubt
that it is a problem with GnuPG. Most likely, you need to wait for the system
to generate more entropy.
If you think gpg or gpg-agent is really hung, it would be nice if you could use
gdb to attach and then get a backtrace and post that here.
Thanks!
Neal