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 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
519 --enable-extended-key-format
520 This option creates keys in the extended private key format.
521 Changing the passphrase of a key will also convert the key to
522 that new format. Using this option makes the private keys
523 unreadable for gpg-agent versions before 2.1.12. The advantage
524 of the extended private key format is that it is text based and
525 can carry additional meta data. Note that this option also
526 changes the key protection format to use OCB mode.
527
528
529
530 --enable-ssh-support
531 --enable-putty-support
532
533 The OpenSSH Agent protocol is always enabled, but gpg-agent will
534 only set the SSH_AUTH_SOCK variable if this flag is given.
535
536 In this mode of operation, the agent does not only implement the
537 gpg-agent protocol, but also the agent protocol used by OpenSSH
538 (through a separate socket). Consequently, it should be possi‐
539 ble to use the gpg-agent as a drop-in replacement for the well
540 known ssh-agent.
541
542 SSH Keys, which are to be used through the agent, need to be
543 added to the gpg-agent initially through the ssh-add utility.
544 When a key is added, ssh-add will ask for the password of the
545 provided key file and send the unprotected key material to the
546 agent; this causes the gpg-agent to ask for a passphrase, which
547 is to be used for encrypting the newly received key and storing
548 it in a gpg-agent specific directory.
549
550 Once a key has been added to the gpg-agent this way, the gpg-
551 agent will be ready to use the key.
552
553 Note: in case the gpg-agent receives a signature request, the
554 user might need to be prompted for a passphrase, which is neces‐
555 sary for decrypting the stored key. Since the ssh-agent proto‐
556 col does not contain a mechanism for telling the agent on which
557 display/terminal it is running, gpg-agent's ssh-support will use
558 the TTY or X display where gpg-agent has been started. To
559 switch this display to the current one, the following command
560 may be used:
561
562 gpg-connect-agent updatestartuptty /bye
563
564 Although all GnuPG components try to start the gpg-agent as needed,
565 this is not possible for the ssh support because ssh does not know
566 about it. Thus if no GnuPG tool which accesses the agent has been run,
567 there is no guarantee that ssh is able to use gpg-agent for authentica‐
568 tion. To fix this you may start gpg-agent if needed using this simple
569 command:
570
571 gpg-connect-agent /bye
572
573 Adding the --verbose shows the progress of starting the agent.
574
575 The --enable-putty-support is only available under Windows and allows
576 the use of gpg-agent with the ssh implementation putty. This is simi‐
577 lar to the regular ssh-agent support but makes use of Windows message
578 queue as required by putty.
579
580
581
582 --ssh-fingerprint-digest
583
584 Select the digest algorithm used to compute ssh fingerprints
585 that are communicated to the user, e.g. in pinentry dialogs.
586 OpenSSH has transitioned from using MD5 to the more secure
587 SHA256.
588
589
590
591 --auto-expand-secmem n
592 Allow Libgcrypt to expand its secure memory area as required.
593 The optional value n is a non-negative integer with a suggested
594 size in bytes of each additionally allocated secure memory area.
595 The value is rounded up to the next 32 KiB; usual C style pre‐
596 fixes are allowed. For an heavy loaded gpg-agent with many con‐
597 current connection this option avoids sign or decrypt errors due
598 to out of secure memory error returns.
599
600
601 --s2k-calibration milliseconds
602 Change the default calibration time to milliseconds. The given
603 value is capped at 60 seconds; a value of 0 resets to the com‐
604 piled-in default. This option is re-read on a SIGHUP (or gpg‐
605 conf --reload gpg-agent) and the S2K count is then re-cali‐
606 brated.
607
608
609 --s2k-count n
610 Specify the iteration count used to protect the passphrase.
611 This option can be used to override the auto-calibration done by
612 default. The auto-calibration computes a count which requires
613 by default 100ms to mangle a given passphrase. See also --s2k-
614 calibration.
615
616 To view the actually used iteration count and the milliseconds
617 required for an S2K operation use:
618
619 gpg-connect-agent 'GETINFO s2k_count' /bye
620 gpg-connect-agent 'GETINFO s2k_time' /bye
621
622 To view the auto-calibrated count use:
623
624 gpg-connect-agent 'GETINFO s2k_count_cal' /bye
625
626
627
629 It is important to set the environment variable GPG_TTY in your login
630 shell, for example in the ‘~/.bashrc’ init script:
631
632 export GPG_TTY=$(tty)
633
634 If you enabled the Ssh Agent Support, you also need to tell ssh about
635 it by adding this to your init script:
636
637 unset SSH_AGENT_PID
638 if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
639 export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
640 fi
641
642
643
644
646 There are a few configuration files needed for the operation of the
647 agent. By default they may all be found in the current home directory
648 (see: [option --homedir]).
649
650
651
652 gpg-agent.conf
653 This is the standard configuration file read by gpg-agent on
654 startup. It may contain any valid long option; the leading
655 two dashes may not be entered and the option may not be abbre‐
656 viated.
657 This file is also read after a SIGHUP however only a few
658 options will actually have an effect. This default name may
659 be
660 changed on the command line (see: [option --options]).
661 You should backup this file.
662
663
664 trustlist.txt
665 This is the list of trusted keys. You should backup this
666 file.
667
668 Comment lines, indicated by a leading hash mark, as well as
669 empty
670 lines are ignored. To mark a key as trusted you need to enter
671 its
672 fingerprint followed by a space and a capital letter S.
673 Colons
674 may optionally be used to separate the bytes of a fingerprint;
675 this
676 enables cutting and pasting the fingerprint from a key listing
677 output. If
678 the line is prefixed with a ! the key is explicitly marked as
679 not trusted.
680
681 Here is an example where two keys are marked as ultimately
682 trusted
683 and one as not trusted:
684
685 .RS 2
686 # CN=Wurzel ZS 3,O=Intevation GmbH,C=DE
687 A6935DD34EF3087973C706FC311AA2CCF733765B S
688
689 # CN=PCA-1-Verwaltung-02/O=PKI-1-Verwaltung/C=DE
690 DC:BD:69:25:48:BD:BB:7E:31:6E:BB:80:D3:00:80:35:D4:F8:A6:CD S
691
692 # CN=Root-CA/O=Schlapphuete/L=Pullach/C=DE
693 !14:56:98:D3:FE:9C:CA:5A:31:6E:BC:81:D3:11:4E:00:90:A3:44:C2 S
694 .fi
695
696 Before entering a key into this file, you need to ensure its
697 authenticity. How to do this depends on your organisation; your
698 administrator might have already entered those keys which are deemed
699 trustworthy enough into this file. Places where to look for the
700 fingerprint of a root certificate are letters received from the CA or
701 the website of the CA (after making 100% sure that this is indeed the
702 website of that CA). You may want to consider disallowing interactive
703 updates of this file by using the [option --no-allow-mark-trusted].
704 It might even be advisable to change the permissions to read-only so
705 that this file can't be changed inadvertently.
706
707 As a special feature a line include-default will include a global
708 list of trusted certificates (e.g. ‘/etc/gnupg/trustlist.txt’).
709 This global list is also used if the local list is not available.
710
711 It is possible to add further flags after the S for use by the
712 caller:
713
714
715
716 relax Relax checking of some root certificate requirements. As of now this
717 flag allows the use of root certificates with a missing basicConstraints
718 attribute (despite that it is a MUST for CA certificates) and disables
719 CRL checking for the root certificate.
720
721
722 cm If validation of a certificate finally issued by a CA with this flag set
723 fails, try again using the chain validation model.
724
725
726
727
728 sshcontrol
729 This file is used when support for the secure shell agent protocol has
730 been enabled (see: [option --enable-ssh-support]). Only keys present in
731 this file are used in the SSH protocol. You should backup this file.
732
733 The ssh-add tool may be used to add new entries to this file;
734 you may also add them manually. Comment lines, indicated by a leading
735 hash mark, as well as empty lines are ignored. An entry starts with
736 optional whitespace, followed by the keygrip of the key given as 40 hex
737 digits, optionally followed by the caching TTL in seconds and another
738 optional field for arbitrary flags. A non-zero TTL overrides the global
739 default as set by --default-cache-ttl-ssh.
740
741 The only flag support is confirm. If this flag is found for a
742 key, each use of the key will pop up a pinentry to confirm the use of
743 that key. The flag is automatically set if a new key was loaded into
744 gpg-agent using the option -c of the ssh-add
745 command.
746
747 The keygrip may be prefixed with a ! to disable an entry.
748
749 The following example lists exactly one key. Note that keys available
750 through a OpenPGP smartcard in the active smartcard reader are
751 implicitly added to this list; i.e. there is no need to list them.
752
753 # Key added on: 2011-07-20 20:38:46
754 # Fingerprint: 5e:8d:c4:ad:e7:af:6e:27:8a:d6:13:e4:79:ad:0b:81
755 34B62F25E277CF13D3C6BCEBFD3F85D08F0A864B 0 confirm
756
757
758 private-keys-v1.d/
759
760 This is the directory where gpg-agent stores the private keys.
761 Each
762 key is stored in a file with the name made up of the keygrip
763 and the
764 suffix ‘key’. You should backup all files in this directory
765 and take great care to keep this backup closed away.
766
767
768
769 Note that on larger installations, it is useful to put predefined files
770 into the directory ‘/etc/skel/.gnupg’ so that newly created users start
771 up with a working configuration. For existing users the a small helper
772 script is provided to create these files (see: [addgnupghome]).
773
774
775
776
777
779 A running gpg-agent may be controlled by signals, i.e. using the kill
780 command to send a signal to the process.
781
782 Here is a list of supported signals:
783
784
785
786 SIGHUP This signal flushes all cached passphrases and if the program
787 has been started with a configuration file, the configuration
788 file is read again. Only certain options are honored: quiet,
789 verbose, debug, debug-all, debug-level, debug-pinentry, no-grab,
790 pinentry-program, pinentry-invisible-char, default-cache-ttl,
791 max-cache-ttl, ignore-cache-for-signing, s2k-count, no-allow-
792 external-cache, allow-emacs-pinentry, no-allow-mark-trusted,
793 disable-scdaemon, and disable-check-own-socket. scdaemon-pro‐
794 gram is also supported but due to the current implementation,
795 which calls the scdaemon only once, it is not of much use unless
796 you manually kill the scdaemon.
797
798
799
800 SIGTERM
801 Shuts down the process but waits until all current requests are
802 fulfilled. If the process has received 3 of these signals and
803 requests are still pending, a shutdown is forced.
804
805
806 SIGINT Shuts down the process immediately.
807
808
809 SIGUSR1
810 Dump internal information to the log file.
811
812
813 SIGUSR2
814 This signal is used for internal purposes.
815
816
818 gpg(1), gpgsm(1), gpgconf(1), gpg-connect-agent(1), scdaemon(1)
819
820 The full documentation for this tool is maintained as a Texinfo manual.
821 If GnuPG and the info program are properly installed at your site, the
822 command
823
824 info gnupg
825
826 should give you access to the complete manual including a menu struc‐
827 ture and an index.
828
829
830
831GnuPG 2.2.18 2019-11-23 GPG-AGENT(1)