Is there a gpg-agent for cygwin?

I would like to use gpg-agent from cygwin, but installing gpg on cygwin doesn't provide it, and google doesn't have much recent information about this. Is it possible to use gpg-agent under cygwin (with something like keychain), or can I use a "native" windows agent with cygwin's gpg?


Solution 1:

Unfortunately, no (or not yet, as of March 2016). As the following thread from the Cygwin package maintainer for GnuPG suggests, gpg-agent is only available in GnuPG 2 and newer, but Cygwin is packaged with GnuPG 1.4.

  • https://cygwin.com/ml/cygwin/2015-09/msg00067.html

On 04/09/2015 12:31, Andrew Schulman wrote:

So, why isn't there a gpg-agent for Cygwin? Any hope of having one some day?

From: Adam Dinwoodie

I suspect simply because nobody has packaged one, and somebody has to do the work to make it available. I doubt anyone would object to you submitting an Intent To Package per https://cygwin.com/setup.html.

On Thu, Sep 03, 2015 at 03:20:45PM -0400, Andrew Schulman wrote:

If that's the only reason, I could certainly look at packaging it. I guess I'd like to hear from Marco first though, the gnupg maintainer, to tell us if there isn't some other reason.

From: Marco Atzeri

for what I know gpg-agent belongs to GnuPG > 2.0 while we have only the classic gnupg-1.4.19

If I remember right GnuPG > 2.0 requires memory protection features that do not exist on cygwin. But I could be wrong.

Regards Marco

Solution 2:

UPDATE (2018-10-20)

The information below is now obsolete, since as of today the current Cygwin gnupg2 package version is at 2.2.10-1 and the one coming with the most recent gpg4win (3.1.3) is at 2.2.10.


No, there is currently no native Cygwin package for GnuPG 2+. Please file a complaint on their email list. The only way is to follow my installation instructions and soft link the new agents. Be careful as there are several files with similar names, as you don't want to break the native/original gpg used by the package manager and other apps.

$ ls -1 /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg*

gpg.exe'*
gpg-agent.exe'*
gpgconf.exe'*
gpg-connect-agent.exe'*
gpgme-w32spawn.exe'*
gpg-preset-passphrase.exe'*
gpgsm.exe'*
gpgtar.exe'*
gpgv.exe'*
gpg-wks-client.exe'*

$ ls -1 /usr/bin/gpg*

gpg.exe*
gpgsplit.exe*
gpgv.exe*
gpg-zip*

The bare minimum to link are:

$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg.exe /usr/bin/gpg2
$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg-agent.exe /usr/bin/gpg-agent