On Windows systems it is possible to install GnuPG as a portable application. In this case only this command line option is considered, all other ways to set a home directory are ignored.
To install GnuPG as a portable application under Windows, create an
empty file name gpgconf.ctl in the same directory as the tool
gpgconf.exe. The root of the installation is than that
directory; or, if gpgconf.exe has been installed directly below
a directory named bin, its parent directory. You also need to
make sure that the following directories exist and are writable:
ROOT/home for the GnuPG home and ROOT/usr/local/var/cache/gnupg
for internal cache files.
How these messages are mapped to the actual debugging flags is not
specified and may change with newer releases of this program. They are
however carefully selected to best aid in debugging.
GCRY_VERY_STRONG_RANDOM) and degrades all request down to standard random quality. It is only used for testing and shall not be used for any production quality keys. This option is only effective when given on the command line.
SHELLwhich is correct in almost all cases.
HKCU\Software\GNU\GnuPG:DefaultLogFile, if set, is used to specify the logging output.
Some desktop environments prefer to unlock all
credentials with one master password and may have installed a Pinentry
which employs an additional external cache to implement such a policy.
By using this option the Pinentry is advised not to make use of such a
cache and instead always ask the user for the requested passphrase.
Security note: It is known that checking a passphrase against a list of
pattern or even against a complete dictionary is not very effective to
enforce good passphrases. Users will soon figure up ways to bypass such
a policy. A better policy is to educate users on good security
behavior and optionally to run a passphrase cracker regularly on all
users passphrases to catch the very simple ones.
On a Windows platform the default is to use the first existing program
from this list:
where the file names are relative to the GnuPG installation directory.
/dev/nullmay be used to completely disable this feature. Note that Pinentry will not create that file, it will only change the modification and access time.
gpg-agent --use-standard-socket-pwill thus always return success.
ttyor X window system's
DISPLAYvariable respectively. This is useful to lock the pinentry to pop up at the
ttyor display you started the agent.
In this mode of operation, the agent does not only implement the gpg-agent protocol, but also the agent protocol used by OpenSSH (through a separate socket). Consequently, it should be possible to use the gpg-agent as a drop-in replacement for the well known ssh-agent.
SSH Keys, which are to be used through the agent, need to be added to the gpg-agent initially through the ssh-add utility. When a key is added, ssh-add will ask for the password of the provided key file and send the unprotected key material to the agent; this causes the gpg-agent to ask for a passphrase, which is to be used for encrypting the newly received key and storing it in a gpg-agent specific directory.
Once a key has been added to the gpg-agent this way, the gpg-agent will be ready to use the key.
Note: in case the gpg-agent receives a signature request, the user might need to be prompted for a passphrase, which is necessary for decrypting the stored key. Since the ssh-agent protocol does not contain a mechanism for telling the agent on which display/terminal it is running, gpg-agent's ssh-support will use the TTY or X display where gpg-agent has been started. To switch this display to the current one, the following command may be used:
gpg-connect-agent updatestartuptty /bye
Although all GnuPG components try to start the gpg-agent as needed, this is not possible for the ssh support because ssh does not know about it. Thus if no GnuPG tool which accesses the agent has been run, there is no guarantee that ssh is able to use gpg-agent for authentication. To fix this you may start gpg-agent if needed using this simple command:
Adding the --verbose shows the progress of starting the agent.
The --enable-putty-support is only available under Windows and allows the use of gpg-agent with the ssh implementation putty. This is similar to the regular ssh-agent support but makes use of Windows message queue as required by putty.
All the long options may also be given in the configuration file after stripping off the two leading dashes.