1

First, I spent an hour trying answers with similar titles so please read this through before flagging this question as a duplicate.

I use a YubiKey to store my PGP private key using its smart card feature.

I confirm the private key works as I can connect to servers using SSH (which triggers pinentry-mac).

$ cat .gnupg/gpg-agent.conf
enable-ssh-support
default-cache-ttl-ssh 60
max-cache-ttl-ssh 120
default-cache-ttl 60
max-cache-ttl 120
pinentry-program /usr/local/bin/pinentry-mac

The gpg: decryption failed: No secret key error is thrown when the YubiKey smart card is not unlocked and I run gpg commands.

$ gpg --decrypt /path/to/file.asc
gpg: encrypted with RSA key, ID redacted
gpg: encrypted with 4096-bit RSA key, ID redacted, created redacted
      redacted
gpg: public key decryption failed: Broken pipe
gpg: decryption failed: No secret key

When the above error is thrown, connecting to a server using SSH triggers pinentry-mac, I then ctrl+c and run gpg --decrypt /path/to/file.asc and pinentry-mac is triggered.

What is going on here? How can I get gpg --decrypt /path/to/file.asc to work without having to use ssh first?

I am probably missing something!

sunknudsen
  • 1,060

1 Answers1

0

Upgrading GnuPG from version 2.2.22 to 2.2.23 using brew upgrade solved the problem.

sunknudsen
  • 1,060