1GPG-AGENT(1) GNU Privacy Guard 2.2 GPG-AGENT(1)
2
3
4
6 gpg-agent - Secret key management for GnuPG
7
9 gpg-agent [--homedir dir] [--options file] [options]
10 gpg-agent [--homedir dir] [--options file] [options] --server
11 gpg-agent [--homedir dir] [--options file] [options] --daemon [com‐
12 mand_line]
13
14
16 gpg-agent is a daemon to manage secret (private) keys independently
17 from any protocol. It is used as a backend for gpg and gpgsm as well
18 as for a couple of other utilities.
19
20 The agent is automatically started on demand by gpg, gpgsm, gpgconf, or
21 gpg-connect-agent. Thus there is no reason to start it manually. In
22 case you want to use the included Secure Shell Agent you may start the
23 agent using:
24
25
26 gpg-connect-agent /bye
27
28
29 If you want to manually terminate the currently-running agent, you can
30 safely do so with:
31
32 gpgconf --kill gpg-agent
33
34
35 You should always add the following lines to your .bashrc or whatever
36 initialization file is used for all shell invocations:
37
38 GPG_TTY=$(tty)
39 export GPG_TTY
40
41
42 It is important that this environment variable always reflects the out‐
43 put of the tty command. For W32 systems this option is not required.
44
45 Please make sure that a proper pinentry program has been installed
46 under the default filename (which is system dependent) or use the
47 option pinentry-program to specify the full name of that program. It
48 is often useful to install a symbolic link from the actual used pinen‐
49 try (e.g. ‘/usr/bin/pinentry-gtk’) to the expected one (e.g.
50 ‘/usr/bin/pinentry’).
51
52
53
54
56 Commands are not distinguished from options except for the fact that
57 only one command is allowed.
58
59
60 --version
61 Print the program version and licensing information. Note that
62 you cannot abbreviate this command.
63
64
65 --help
66 -h Print a usage message summarizing the most useful command-line
67 options. Note that you cannot abbreviate this command.
68
69
70 --dump-options
71 Print a list of all available options and commands. Note that
72 you cannot abbreviate this command.
73
74
75 --server
76 Run in server mode and wait for commands on the stdin. The
77 default mode is to create a socket and listen for commands
78 there.
79
80
81 --daemon [command line]
82 Start the gpg-agent as a daemon; that is, detach it from the
83 console and run it in the background.
84
85 As an alternative you may create a new process as a child of
86 gpg-agent: gpg-agent --daemon /bin/sh. This way you get a new
87 shell with the environment setup properly; after you exit from
88 this shell, gpg-agent terminates within a few seconds.
89
90
91 --supervised
92 Run in the foreground, sending logs by default to stderr, and
93 listening on provided file descriptors, which must already be
94 bound to listening sockets. This command is useful when running
95 under systemd or other similar process supervision schemes.
96 This option is not supported on Windows.
97
98 In --supervised mode, different file descriptors can be provided
99 for use as different socket types (e.g. ssh, extra) as long as
100 they are identified in the environment variable LISTEN_FDNAMES
101 (see sd_listen_fds(3) on some Linux distributions for more
102 information on this convention).
103
105 Options may either be used on the command line or, after stripping off
106 the two leading dashes, in the configuration file.
107
108
109
110
111 --options file
112 Reads configuration from file instead of from the default per-
113 user configuration file. The default configuration file is
114 named ‘gpg-agent.conf’ and expected in the ‘.gnupg’ directory
115 directly below the home directory of the user. This option is
116 ignored if used in an options file.
117
118
119
120 --homedir dir
121 Set the name of the home directory to dir. If this option is not
122 used, the home directory defaults to ‘~/.gnupg’. It is only
123 recognized when given on the command line. It also overrides
124 any home directory stated through the environment variable
125 ‘GNUPGHOME’ or (on Windows systems) by means of the Registry
126 entry HKCU\Software\GNU\GnuPG:HomeDir.
127
128 On Windows systems it is possible to install GnuPG as a portable
129 application. In this case only this command line option is con‐
130 sidered, all other ways to set a home directory are ignored.
131
132 To install GnuPG as a portable application under Windows, create
133 an empty file named ‘gpgconf.ctl’ in the same directory as the
134 tool ‘gpgconf.exe’. The root of the installation is then that
135 directory; or, if ‘gpgconf.exe’ has been installed directly
136 below a directory named ‘bin’, its parent directory. You also
137 need to make sure that the following directories exist and are
138 writable: ‘ROOT/home’ for the GnuPG home and
139 ‘ROOT/var/cache/gnupg’ for internal cache files.
140
141
142
143 -v
144
145 --verbose
146 Outputs additional information while running. You can increase
147 the verbosity by giving several verbose commands to gpg-agent,
148 such as ‘-vv’.
149
150
151 -q
152
153 --quiet
154 Try to be as quiet as possible.
155
156
157 --batch
158 Don't invoke a pinentry or do any other thing requiring human
159 interaction.
160
161
162 --faked-system-time epoch
163 This option is only useful for testing; it sets the system time
164 back or forth to epoch which is the number of seconds elapsed
165 since the year 1970.
166
167
168 --debug-level level
169 Select the debug level for investigating problems. level may be
170 a numeric value or a keyword:
171
172
173 none No debugging at all. A value of less than 1 may be used
174 instead of the keyword.
175
176 basic Some basic debug messages. A value between 1 and 2 may
177 be used instead of the keyword.
178
179 advanced
180 More verbose debug messages. A value between 3 and 5 may
181 be used instead of the keyword.
182
183 expert Even more detailed messages. A value between 6 and 8 may
184 be used instead of the keyword.
185
186 guru All of the debug messages you can get. A value greater
187 than 8 may be used instead of the keyword. The creation
188 of hash tracing files is only enabled if the keyword is
189 used.
190
191 How these messages are mapped to the actual debugging flags is not
192 specified and may change with newer releases of this program. They are
193 however carefully selected to best aid in debugging.
194
195
196 --debug flags
197 This option is only useful for debugging and the behavior may
198 change at any time without notice. FLAGS are bit encoded and
199 may be given in usual C-Syntax. The currently defined bits are:
200
201
202 0 (1) X.509 or OpenPGP protocol related data
203
204 1 (2) values of big number integers
205
206 2 (4) low level crypto operations
207
208 5 (32) memory allocation
209
210 6 (64) caching
211
212 7 (128)
213 show memory statistics
214
215 9 (512)
216 write hashed data to files named dbgmd-000*
217
218 10 (1024)
219 trace Assuan protocol
220
221 12 (4096)
222 bypass all certificate validation
223
224
225 --debug-all
226 Same as --debug=0xffffffff
227
228
229 --debug-wait n
230 When running in server mode, wait n seconds before entering the
231 actual processing loop and print the pid. This gives time to
232 attach a debugger.
233
234
235 --debug-quick-random
236 This option inhibits the use of the very secure random quality
237 level (Libgcrypt’s GCRY_VERY_STRONG_RANDOM) and degrades all
238 request down to standard random quality. It is only used for
239 testing and should not be used for any production quality keys.
240 This option is only effective when given on the command line.
241
242 On GNU/Linux, another way to quickly generate insecure keys is
243 to use rngd to fill the kernel's entropy pool with lower quality
244 random data. rngd is typically provided by the rng-tools pack‐
245 age. It can be run as follows: ‘sudo rngd -f -r /dev/urandom’.
246
247
248 --debug-pinentry
249 This option enables extra debug information pertaining to the
250 Pinentry. As of now it is only useful when used along with
251 --debug 1024.
252
253
254 --no-detach
255 Don't detach the process from the console. This is mainly use‐
256 ful for debugging.
257
258
259 -s
260 --sh
261 -c
262 --csh Format the info output in daemon mode for use with the standard
263 Bourne shell or the C-shell respectively. The default is to
264 guess it based on the environment variable SHELL which is cor‐
265 rect in almost all cases.
266
267
268
269 --grab
270 --no-grab
271 Tell the pinentry to grab the keyboard and mouse. This option
272 should be used on X-Servers to avoid X-sniffing attacks. Any use
273 of the option --grab overrides an used option --no-grab. The
274 default is --no-grab.
275
276
277
278 --log-file file
279 Append all logging output to file. This is very helpful in see‐
280 ing what the agent actually does. Use ‘socket://’ to log to
281 socket. If neither a log file nor a log file descriptor has
282 been set on a Windows platform, the Registry entry HKCU\Soft‐
283 ware\GNU\GnuPG:DefaultLogFile, if set, is used to specify the
284 logging output.
285
286
287
288
289 --no-allow-mark-trusted
290 Do not allow clients to mark keys as trusted, i.e. put them into
291 the ‘trustlist.txt’ file. This makes it harder for users to
292 inadvertently accept Root-CA keys.
293
294
295
296 --allow-preset-passphrase
297 This option allows the use of gpg-preset-passphrase to seed the
298 internal cache of gpg-agent with passphrases.
299
300
301
302 --no-allow-loopback-pinentry
303
304 --allow-loopback-pinentry
305 Disallow or allow clients to use the loopback pinentry features;
306 see the option pinentry-mode for details. Allow is the default.
307
308 The --force option of the Assuan command DELETE_KEY is also con‐
309 trolled by this option: The option is ignored if a loopback
310 pinentry is disallowed.
311
312
313 --no-allow-external-cache
314 Tell Pinentry not to enable features which use an external cache
315 for passphrases.
316
317 Some desktop environments prefer to unlock all credentials with
318 one master password and may have installed a Pinentry which
319 employs an additional external cache to implement such a policy.
320 By using this option the Pinentry is advised not to make use of
321 such a cache and instead always ask the user for the requested
322 passphrase.
323
324
325 --allow-emacs-pinentry
326 Tell Pinentry to allow features to divert the passphrase entry
327 to a running Emacs instance. How this is exactly handled
328 depends on the version of the used Pinentry.
329
330
331 --ignore-cache-for-signing
332 This option will let gpg-agent bypass the passphrase cache for
333 all signing operation. Note that there is also a per-session
334 option to control this behavior but this command line option
335 takes precedence.
336
337
338 --default-cache-ttl n
339 Set the time a cache entry is valid to n seconds. The default
340 is 600 seconds. Each time a cache entry is accessed, the
341 entry's timer is reset. To set an entry's maximum lifetime, use
342 max-cache-ttl. Note that a cached passphrase may not be evicted
343 immediately from memory if no client requests a cache operation.
344 This is due to an internal housekeeping function which is only
345 run every few seconds.
346
347
348 --default-cache-ttl-ssh n
349 Set the time a cache entry used for SSH keys is valid to n sec‐
350 onds. The default is 1800 seconds. Each time a cache entry is
351 accessed, the entry's timer is reset. To set an entry's maximum
352 lifetime, use max-cache-ttl-ssh.
353
354
355 --max-cache-ttl n
356 Set the maximum time a cache entry is valid to n seconds. After
357 this time a cache entry will be expired even if it has been
358 accessed recently or has been set using gpg-preset-passphrase.
359 The default is 2 hours (7200 seconds).
360
361
362 --max-cache-ttl-ssh n
363 Set the maximum time a cache entry used for SSH keys is valid to
364 n seconds. After this time a cache entry will be expired even
365 if it has been accessed recently or has been set using gpg-pre‐
366 set-passphrase. The default is 2 hours (7200 seconds).
367
368
369 --enforce-passphrase-constraints
370 Enforce the passphrase constraints by not allowing the user to
371 bypass them using the ``Take it anyway'' button.
372
373
374 --min-passphrase-len n
375 Set the minimal length of a passphrase. When entering a new
376 passphrase shorter than this value a warning will be displayed.
377 Defaults to 8.
378
379
380 --min-passphrase-nonalpha n
381 Set the minimal number of digits or special characters required
382 in a passphrase. When entering a new passphrase with less than
383 this number of digits or special characters a warning will be
384 displayed. Defaults to 1.
385
386
387 --check-passphrase-pattern file
388 Check the passphrase against the pattern given in file. When
389 entering a new passphrase matching one of these pattern a warn‐
390 ing will be displayed. file should be an absolute filename. The
391 default is not to use any pattern file.
392
393 Security note: It is known that checking a passphrase against a
394 list of pattern or even against a complete dictionary is not
395 very effective to enforce good passphrases. Users will soon
396 figure up ways to bypass such a policy. A better policy is to
397 educate users on good security behavior and optionally to run a
398 passphrase cracker regularly on all users passphrases to catch
399 the very simple ones.
400
401
402 --max-passphrase-days n
403 Ask the user to change the passphrase if n days have passed
404 since the last change. With --enforce-passphrase-constraints
405 set the user may not bypass this check.
406
407
408 --enable-passphrase-history
409 This option does nothing yet.
410
411
412 --pinentry-invisible-char char
413 This option asks the Pinentry to use char for displaying hidden
414 characters. char must be one character UTF-8 string. A Pinen‐
415 try may or may not honor this request.
416
417
418 --pinentry-timeout n
419 This option asks the Pinentry to timeout after n seconds with no
420 user input. The default value of 0 does not ask the pinentry to
421 timeout, however a Pinentry may use its own default timeout
422 value in this case. A Pinentry may or may not honor this
423 request.
424
425
426 --pinentry-program filename
427 Use program filename as the PIN entry. The default is installa‐
428 tion dependent. With the default configuration the name of the
429 default pinentry is ‘pinentry’; if that file does not exist but
430 a ‘pinentry-basic’ exist the latter is used.
431
432 On a Windows platform the default is to use the first existing
433 program from this list: ‘bin\pinentry.exe’,
434 ‘..\Gpg4win\bin\pinentry.exe’, ‘..\Gpg4win\pinentry.exe’,
435 ‘..\GNU\GnuPG\pinentry.exe’, ‘..\GNU\bin\pinentry.exe’,
436 ‘bin\pinentry-basic.exe’ where the file names are relative to
437 the GnuPG installation directory.
438
439
440
441 --pinentry-touch-file filename
442 By default the filename of the socket gpg-agent is listening for
443 requests is passed to Pinentry, so that it can touch that file
444 before exiting (it does this only in curses mode). This option
445 changes the file passed to Pinentry to filename. The special
446 name /dev/null may be used to completely disable this feature.
447 Note that Pinentry will not create that file, it will only
448 change the modification and access time.
449
450
451
452 --scdaemon-program filename
453 Use program filename as the Smartcard daemon. The default is
454 installation dependent and can be shown with the gpgconf com‐
455 mand.
456
457
458 --disable-scdaemon
459 Do not make use of the scdaemon tool. This option has the
460 effect of disabling the ability to do smartcard operations.
461 Note, that enabling this option at runtime does not kill an
462 already forked scdaemon.
463
464
465 --disable-check-own-socket
466 gpg-agent employs a periodic self-test to detect a stolen
467 socket. This usually means a second instance of gpg-agent has
468 taken over the socket and gpg-agent will then terminate itself.
469 This option may be used to disable this self-test for debugging
470 purposes.
471
472
473 --use-standard-socket
474 --no-use-standard-socket
475 --use-standard-socket-p
476 Since GnuPG 2.1 the standard socket is always used. These
477 options have no more effect. The command gpg-agent --use-stan‐
478 dard-socket-p will thus always return success.
479
480
481 --display string
482 --ttyname string
483 --ttytype string
484 --lc-ctype string
485 --lc-messages string
486 --xauthority string
487 These options are used with the server mode to pass localization
488 information.
489
490
491 --keep-tty
492 --keep-display
493 Ignore requests to change the current tty or X window system's
494 DISPLAY variable respectively. This is useful to lock the
495 pinentry to pop up at the tty or display you started the agent.
496
497
498 --listen-backlog n
499 Set the size of the queue for pending connections. The default
500 is 64.
501
502
503
504 --extra-socket name
505 The extra socket is created by default, you may use this option
506 to change the name of the socket. To disable the creation of
507 the socket use ``none'' or ``/dev/null'' for name.
508
509 Also listen on native gpg-agent connections on the given socket.
510 The intended use for this extra socket is to setup a Unix domain
511 socket forwarding from a remote machine to this socket on the
512 local machine. A gpg running on the remote machine may then
513 connect to the local gpg-agent and use its private keys. This
514 enables decrypting or signing data on a remote machine without
515 exposing the private keys to the remote machine.
516
517
518 --enable-extended-key-format
519 --disable-extended-key-format
520 Since version 2.2.22 keys are created in the extended private
521 key format by default. Changing the passphrase of a key will
522 also convert the key to that new format. This key format is
523 supported since GnuPG version 2.1.12 and thus there should be no
524 need to disable it. Anyway, the disable option still allows to
525 revert to the old behavior for new keys; be aware that keys are
526 never migrated back to the old format. If the enable option has
527 been used the disable option won't have an effect. The advan‐
528 tage of the extended private key format is that it is text based
529 and can carry additional meta data. In extended key format the
530 OCB mode is used for key protection.
531
532
533
534 --enable-ssh-support
535 --enable-putty-support
536
537 The OpenSSH Agent protocol is always enabled, but gpg-agent will
538 only set the SSH_AUTH_SOCK variable if this flag is given.
539
540 In this mode of operation, the agent does not only implement the
541 gpg-agent protocol, but also the agent protocol used by OpenSSH
542 (through a separate socket). Consequently, it should be possi‐
543 ble to use the gpg-agent as a drop-in replacement for the well
544 known ssh-agent.
545
546 SSH Keys, which are to be used through the agent, need to be
547 added to the gpg-agent initially through the ssh-add utility.
548 When a key is added, ssh-add will ask for the password of the
549 provided key file and send the unprotected key material to the
550 agent; this causes the gpg-agent to ask for a passphrase, which
551 is to be used for encrypting the newly received key and storing
552 it in a gpg-agent specific directory.
553
554 Once a key has been added to the gpg-agent this way, the gpg-
555 agent will be ready to use the key.
556
557 Note: in case the gpg-agent receives a signature request, the
558 user might need to be prompted for a passphrase, which is neces‐
559 sary for decrypting the stored key. Since the ssh-agent proto‐
560 col does not contain a mechanism for telling the agent on which
561 display/terminal it is running, gpg-agent's ssh-support will use
562 the TTY or X display where gpg-agent has been started. To
563 switch this display to the current one, the following command
564 may be used:
565
566 gpg-connect-agent updatestartuptty /bye
567
568 Although all GnuPG components try to start the gpg-agent as needed,
569 this is not possible for the ssh support because ssh does not know
570 about it. Thus if no GnuPG tool which accesses the agent has been run,
571 there is no guarantee that ssh is able to use gpg-agent for authentica‐
572 tion. To fix this you may start gpg-agent if needed using this simple
573 command:
574
575 gpg-connect-agent /bye
576
577 Adding the --verbose shows the progress of starting the agent.
578
579 The --enable-putty-support is only available under Windows and allows
580 the use of gpg-agent with the ssh implementation putty. This is simi‐
581 lar to the regular ssh-agent support but makes use of Windows message
582 queue as required by putty.
583
584
585
586 --ssh-fingerprint-digest
587
588 Select the digest algorithm used to compute ssh fingerprints
589 that are communicated to the user, e.g. in pinentry dialogs.
590 OpenSSH has transitioned from using MD5 to the more secure
591 SHA256.
592
593
594
595 --auto-expand-secmem n
596 Allow Libgcrypt to expand its secure memory area as required.
597 The optional value n is a non-negative integer with a suggested
598 size in bytes of each additionally allocated secure memory area.
599 The value is rounded up to the next 32 KiB; usual C style pre‐
600 fixes are allowed. For an heavy loaded gpg-agent with many con‐
601 current connection this option avoids sign or decrypt errors due
602 to out of secure memory error returns.
603
604
605 --s2k-calibration milliseconds
606 Change the default calibration time to milliseconds. The given
607 value is capped at 60 seconds; a value of 0 resets to the com‐
608 piled-in default. This option is re-read on a SIGHUP (or gpg‐
609 conf --reload gpg-agent) and the S2K count is then re-cali‐
610 brated.
611
612
613 --s2k-count n
614 Specify the iteration count used to protect the passphrase.
615 This option can be used to override the auto-calibration done by
616 default. The auto-calibration computes a count which requires
617 by default 100ms to mangle a given passphrase. See also --s2k-
618 calibration.
619
620 To view the actually used iteration count and the milliseconds
621 required for an S2K operation use:
622
623 gpg-connect-agent 'GETINFO s2k_count' /bye
624 gpg-connect-agent 'GETINFO s2k_time' /bye
625
626 To view the auto-calibrated count use:
627
628 gpg-connect-agent 'GETINFO s2k_count_cal' /bye
629
630
631
633 It is important to set the environment variable GPG_TTY in your login
634 shell, for example in the ‘~/.bashrc’ init script:
635
636 export GPG_TTY=$(tty)
637
638 If you enabled the Ssh Agent Support, you also need to tell ssh about
639 it by adding this to your init script:
640
641 unset SSH_AGENT_PID
642 if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
643 export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
644 fi
645
646
647
648
650 There are a few configuration files needed for the operation of the
651 agent. By default they may all be found in the current home directory
652 (see: [option --homedir]).
653
654
655
656 gpg-agent.conf
657 This is the standard configuration file read by gpg-agent on
658 startup. It may contain any valid long option; the leading
659 two dashes may not be entered and the option may not be abbre‐
660 viated.
661 This file is also read after a SIGHUP however only a few
662 options will actually have an effect. This default name may
663 be
664 changed on the command line (see: [option --options]).
665 You should backup this file.
666
667
668 trustlist.txt
669 This is the list of trusted keys. You should backup this
670 file.
671
672 Comment lines, indicated by a leading hash mark, as well as
673 empty
674 lines are ignored. To mark a key as trusted you need to enter
675 its
676 fingerprint followed by a space and a capital letter S.
677 Colons
678 may optionally be used to separate the bytes of a fingerprint;
679 this
680 enables cutting and pasting the fingerprint from a key listing
681 output. If
682 the line is prefixed with a ! the key is explicitly marked as
683 not trusted.
684
685 Here is an example where two keys are marked as ultimately
686 trusted
687 and one as not trusted:
688
689 .RS 2
690 # CN=Wurzel ZS 3,O=Intevation GmbH,C=DE
691 A6935DD34EF3087973C706FC311AA2CCF733765B S
692
693 # CN=PCA-1-Verwaltung-02/O=PKI-1-Verwaltung/C=DE
694 DC:BD:69:25:48:BD:BB:7E:31:6E:BB:80:D3:00:80:35:D4:F8:A6:CD S
695
696 # CN=Root-CA/O=Schlapphuete/L=Pullach/C=DE
697 !14:56:98:D3:FE:9C:CA:5A:31:6E:BC:81:D3:11:4E:00:90:A3:44:C2 S
698 .fi
699
700 Before entering a key into this file, you need to ensure its
701 authenticity. How to do this depends on your organisation; your
702 administrator might have already entered those keys which are deemed
703 trustworthy enough into this file. Places where to look for the
704 fingerprint of a root certificate are letters received from the CA or
705 the website of the CA (after making 100% sure that this is indeed the
706 website of that CA). You may want to consider disallowing interactive
707 updates of this file by using the [option --no-allow-mark-trusted].
708 It might even be advisable to change the permissions to read-only so
709 that this file can't be changed inadvertently.
710
711 As a special feature a line include-default will include a global
712 list of trusted certificates (e.g. ‘/etc/gnupg/trustlist.txt’).
713 This global list is also used if the local list is not available.
714
715 It is possible to add further flags after the S for use by the
716 caller:
717
718
719
720 relax Relax checking of some root certificate requirements. As of now this
721 flag allows the use of root certificates with a missing basicConstraints
722 attribute (despite that it is a MUST for CA certificates) and disables
723 CRL checking for the root certificate.
724
725
726 cm If validation of a certificate finally issued by a CA with this flag set
727 fails, try again using the chain validation model.
728
729
730
731
732 sshcontrol
733 This file is used when support for the secure shell agent protocol has
734 been enabled (see: [option --enable-ssh-support]). Only keys present in
735 this file are used in the SSH protocol. You should backup this file.
736
737 The ssh-add tool may be used to add new entries to this file;
738 you may also add them manually. Comment lines, indicated by a leading
739 hash mark, as well as empty lines are ignored. An entry starts with
740 optional whitespace, followed by the keygrip of the key given as 40 hex
741 digits, optionally followed by the caching TTL in seconds and another
742 optional field for arbitrary flags. A non-zero TTL overrides the global
743 default as set by --default-cache-ttl-ssh.
744
745 The only flag support is confirm. If this flag is found for a
746 key, each use of the key will pop up a pinentry to confirm the use of
747 that key. The flag is automatically set if a new key was loaded into
748 gpg-agent using the option -c of the ssh-add
749 command.
750
751 The keygrip may be prefixed with a ! to disable an entry.
752
753 The following example lists exactly one key. Note that keys available
754 through a OpenPGP smartcard in the active smartcard reader are
755 implicitly added to this list; i.e. there is no need to list them.
756
757 # Key added on: 2011-07-20 20:38:46
758 # Fingerprint: 5e:8d:c4:ad:e7:af:6e:27:8a:d6:13:e4:79:ad:0b:81
759 34B62F25E277CF13D3C6BCEBFD3F85D08F0A864B 0 confirm
760
761
762 private-keys-v1.d/
763
764 This is the directory where gpg-agent stores the private keys.
765 Each
766 key is stored in a file with the name made up of the keygrip
767 and the
768 suffix ‘key’. You should backup all files in this directory
769 and take great care to keep this backup closed away.
770
771
772
773 Note that on larger installations, it is useful to put predefined files
774 into the directory ‘/etc/skel/.gnupg’ so that newly created users start
775 up with a working configuration. For existing users the a small helper
776 script is provided to create these files (see: [addgnupghome]).
777
778
779
780
781
783 A running gpg-agent may be controlled by signals, i.e. using the kill
784 command to send a signal to the process.
785
786 Here is a list of supported signals:
787
788
789
790 SIGHUP This signal flushes all cached passphrases and if the program
791 has been started with a configuration file, the configuration
792 file is read again. Only certain options are honored: quiet,
793 verbose, debug, debug-all, debug-level, debug-pinentry, no-grab,
794 pinentry-program, pinentry-invisible-char, default-cache-ttl,
795 max-cache-ttl, ignore-cache-for-signing, s2k-count, no-allow-
796 external-cache, allow-emacs-pinentry, no-allow-mark-trusted,
797 disable-scdaemon, and disable-check-own-socket. scdaemon-pro‐
798 gram is also supported but due to the current implementation,
799 which calls the scdaemon only once, it is not of much use unless
800 you manually kill the scdaemon.
801
802
803
804 SIGTERM
805 Shuts down the process but waits until all current requests are
806 fulfilled. If the process has received 3 of these signals and
807 requests are still pending, a shutdown is forced.
808
809
810 SIGINT Shuts down the process immediately.
811
812
813 SIGUSR1
814 Dump internal information to the log file.
815
816
817 SIGUSR2
818 This signal is used for internal purposes.
819
820
822 gpg(1), gpgsm(1), gpgconf(1), gpg-connect-agent(1), scdaemon(1)
823
824 The full documentation for this tool is maintained as a Texinfo manual.
825 If GnuPG and the info program are properly installed at your site, the
826 command
827
828 info gnupg
829
830 should give you access to the complete manual including a menu struc‐
831 ture and an index.
832
833
834
835GnuPG 2.2.25 2020-11-23 GPG-AGENT(1)